Mercurial > projects > dwt-win
changeset 247:41a9fce66f7f
changed line-endings to unix format
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Tue, 01 Jul 2008 10:18:15 +0200 |
parents | fd9c62a2998e |
children | b3dbd786541a |
files | dwt/internal/gdip/native.d dwt/internal/ole/win32/COM.d dwt/internal/ole/win32/COMAPI.d dwt/internal/ole/win32/COMTYPES.d dwt/internal/ole/win32/DOCOBJ.d dwt/internal/ole/win32/EXDISP.d dwt/internal/ole/win32/MSHTMHST.d dwt/internal/ole/win32/OAIDL.d dwt/internal/ole/win32/OBJIDL.d dwt/internal/ole/win32/OLEIDL.d dwt/internal/ole/win32/ifs.d dwt/internal/opengl/win32/native.d dwt/internal/win32/WINTYPES.d |
diffstat | 13 files changed, 24883 insertions(+), 24883 deletions(-) [+] |
line wrap: on
line diff
--- a/dwt/internal/gdip/native.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/gdip/native.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,1714 +1,1714 @@ -/****************************************************************************** - - module: - - Based on D version created by John Chapman for the Juno Project - see: www.dsource.org/projects/juno - - Changes and Additions for DWT: - John Reimer <terminal.node@gmail.com> - -******************************************************************************/ - -module dwt.internal.gdip.native; - -import dwt.internal.win32.WINTYPES; -import tango.sys.SharedLib : SharedLib; -import tango.util.log.Trace; - -extern(Windows): - -/****************************************************************************** - - -******************************************************************************/ - -enum DebugEventLevel { - Fatal, - Warning -} - -alias void function(DebugEventLevel level, char* message) DebugEventProc; - -alias int function(out uint token) NotificationHookProc; -alias void function(uint token) NotificationUnhookProc; - - -/****************************************************************************** - - -******************************************************************************/ - - -struct GdiplusStartupInput { - uint GdiplusVersion; - DebugEventProc DebugEventCallback; - int SuppressBackgroundThread; - int SuppressExternalCodecs; -} - -struct GdiplusStartupOutput { - NotificationHookProc NotificationHook; - NotificationUnhookProc NotificationUnhook; -} - -struct GpBitmapData { - int Width; - int Height; - int Stride; - int PixelFormat; - void* Scan0; - int Reserved; -} - -struct GpColorMatrix { - float[5][5] m; -} - -struct GpPropertyItem { - int id; - int length; - short type; - void* value; -} - -struct GpColorPalette { - int Flags; - int Count; - int[1] Entries; -} - -public struct GpRectF { - public float X; - public float Y; - public float Width; - public float Height; -} - -public struct GpRect { - public int X; - public int Y; - public int Width; - public int Height; -} -public struct GpPoint { - public int X; - public int Y; -} -public struct GpPointF { - public float X; - public float Y; -} - -alias int function(void*) GpDrawImageAbort; -alias GpDrawImageAbort GpGetThumbnailImageAbort; - -/****************************************************************************** - - -******************************************************************************/ - -enum Status { - OK, - GenericError, - InvalidParameter, - OutOfMemory, - ObjectBusy, - InsufficientBuffer, - NotImplemented, - Win32Error, - WrongState, - Aborted, - FileNotFound, - ValueOverflow, - AccessDenied, - UnknownImageFormat, - FontFamilyNotFound, - FontStyleNotFound, - NotTrueTypeFont, - UnsupportedGdiplusVersion, - GdiplusNotInitialized, - PropertyNotFound, - PropertyNotSupported -} - -/************************************************************************** - - Opaque types managed by Gdi+ - -**************************************************************************/ -typedef GpImage GpBitmap; - -// alias uint ARGB; -typedef Handle GpFontFamily; -typedef Handle GpImage; -typedef Handle GpBrush; -typedef Handle GpFont; -typedef Handle GpFontCollection; -typedef Handle GpGraphics; -typedef Handle GpGraphicsPath; -typedef Handle GpImageAttributes; -typedef Handle GpHatchBrush; -typedef Handle GpLinearGradientBrush; -typedef Handle GpMatrix; -typedef Handle GpPen; -typedef Handle GpRegion; -typedef Handle GpSolidBrush; -typedef Handle GpStringFormat; -typedef Handle GpTextureBrush; -typedef Handle GpPath; - -alias void* Handle; - -alias int BrushType; -alias int CombineMode; -alias int FlushIntention; -alias int MatrixOrder; -alias int GraphicsUnit; -alias int QualityMode; -alias int SmoothingMode; -alias int InterpolationMode; -alias int CompositingMode; -alias int CompositingQuality; -alias int PixelOffsetMode; -alias int PixelFormat; -alias int RotateFlipType; -alias int CoordinateSpace; -alias int WarpMode; -alias int WrapMode; -alias int FillMode; -alias int LineJoin; -alias int LineCap; -alias int DashCap; -alias int DashStyle; -alias int PenAlignment; -alias int ColorMatrixFlag; -alias int ColorAdjustType; -alias int ColorChannelFlag; -alias int ImageLockMode; -alias int ImageCodecFlags; -alias int EncoderParameterValueType; -alias int GenericFontFamilies; -alias int FontStyle; -alias int HatchStyle; -alias int StringFormatFlags; -alias int StringAlignment; -alias int StringTrimming; -alias int TextRenderingHint; -alias int PenType; -alias int LinearGradientMode; -alias int KnownColor; -alias int Unit; - -alias uint GraphicsState; - -/****************************************************************************** - - Flat GDI+ Exports (C Interface) - -******************************************************************************/ - -extern (Windows): - -version( STATIC_GDIPLUS ){ -Status GdiplusStartup( uint* token, GdiplusStartupInput* input, GdiplusStartupOutput* output); -void GdiplusShutdown(uint token); -Status GdipCreateFromHDC(Handle hdc, out Handle graphics); -Status GdipCreateFromHDC2(Handle hdc, Handle hDevice, out Handle graphics); -Status GdipCreateFromHWND(Handle hwnd, out Handle graphics); -Status GdipGetImageGraphicsContext(Handle image, out Handle graphics); -Status GdipDeleteGraphics(Handle graphics); -Status GdipGetDC(Handle graphics, out Handle hdc); -Status GdipReleaseDC(Handle graphics, Handle hdc); -Status GdipSetClipGraphics(Handle graphics, Handle srcgraphics, CombineMode combineMode); -Status GdipSetClipRectI(Handle graphics, int x, int y, int width, int height, CombineMode combineMode); -Status GdipSetClipRect(Handle graphics, float x, float y, float width, float height, CombineMode combineMode); -Status GdipSetClipPath(Handle graphics, Handle path, CombineMode combineMode); -Status GdipSetClipRegion(Handle graphics, Handle region, CombineMode combineMode); -Status GdipSetClipHrgn(Handle graphics, HRGN hRgn, CombineMode combineMode); - -Status GdipGetClip(Handle graphics, out Handle region); -Status GdipResetClip(Handle graphics); -Status GdipSaveGraphics(Handle graphics, out uint state); -Status GdipRestoreGraphics(Handle graphics, int state); -Status GdipFlush(Handle graphics, FlushIntention intention); -Status GdipScaleWorldTransform(Handle graphics, float sx, float sy, MatrixOrder order); -Status GdipRotateWorldTransform(Handle graphics, float angle, MatrixOrder order); -Status GdipTranslateWorldTransform(Handle graphics, float dx, float dy, MatrixOrder order); -Status GdipMultiplyWorldTransform(Handle graphics, Handle matrix, MatrixOrder order); -Status GdipResetWorldTransform(Handle graphics); -Status GdipBeginContainer(Handle graphics, ref GpRectF dstrect, ref GpRectF srcrect, GraphicsUnit unit, out int state); -Status GdipBeginContainerI(Handle graphics, ref GpRect dstrect, ref GpRect srcrect, GraphicsUnit unit, out int state); -Status GdipBeginContainer2(Handle graphics, out int state); -Status GdipEndContainer(Handle graphics, int state); -Status GdipGetDpiX(Handle graphics, out float dpi); -Status GdipGetDpiY(Handle graphics, out float dpi); -Status GdipGetPageUnit(Handle graphics, out GraphicsUnit unit); -Status GdipSetPageUnit(Handle graphics, GraphicsUnit unit); -Status GdipGetPageScale(Handle graphics, out float scale); -Status GdipSetPageScale(Handle graphics, float scale); -Status GdipGetWorldTransform(Handle graphics, Handle matrix); // out not necessary? -Status GdipSetWorldTransform(Handle graphics, Handle matrix); -Status GdipGetCompositingMode(Handle graphics, out CompositingMode compositingMode); -Status GdipSetCompositingMode(Handle graphics, CompositingMode compositingMode); -Status GdipGetCompositingQuality(Handle graphics, out CompositingQuality compositingQuality); -Status GdipSetCompositingQuality(Handle graphics, CompositingQuality compositingQuality); -Status GdipGetInterpolationMode(Handle graphics, out InterpolationMode interpolationMode); -Status GdipSetInterpolationMode(Handle graphics, InterpolationMode interpolationMode); -Status GdipGetSmoothingMode(Handle graphics, out SmoothingMode smoothingMode); -Status GdipSetSmoothingMode(Handle graphics, SmoothingMode smoothingMode); -Status GdipGetPixelOffsetMode(Handle graphics, out PixelOffsetMode pixelOffsetMode); -Status GdipSetPixelOffsetMode(Handle graphics, PixelOffsetMode pixelOffsetMode); -Status GdipGetTextContrast(Handle graphics, out uint textContrast); -Status GdipSetTextContrast(Handle graphics, uint textContrast); -Status GdipGraphicsClear(Handle graphics, int color); -Status GdipDrawLine(Handle graphics, Handle pen, float x1, float y1, float x2, float y2); -Status GdipDrawLines(Handle graphics, Handle pen, GpPointF* points, int count); -Status GdipDrawLineI(Handle graphics, Handle pen, int x1, int y1, int x2, int y2); -Status GdipDrawLinesI(Handle graphics, Handle pen, GpPoint* points, int count); -Status GdipDrawArc(Handle graphics, Handle pen, float x, float y, float width, float height, float startAngle, float sweepAngle); -Status GdipDrawArcI(Handle graphics, Handle pen, int x, int y, int width, int height, float startAngle, float sweepAngle); -Status GdipDrawBezier(Handle graphics, Handle pen, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4); -Status GdipDrawBeziers(Handle graphics, Handle pen, GpPointF* points, int count); -Status GdipDrawBezierI(Handle graphics, Handle pen, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); -Status GdipDrawBeziersI(Handle graphics, Handle pen, GpPoint* points, int count); -Status GdipDrawRectangle(Handle graphics, Handle pen, float x, float y, float width, float height); -Status GdipDrawRectangles(Handle graphics, Handle pen, GpRectF* rects, int count); -Status GdipDrawRectangleI(Handle graphics, Handle pen, int x, int y, int width, int height); -Status GdipDrawRectanglesI(Handle graphics, Handle pen, GpRect* rects, int count); -Status GdipDrawEllipse(Handle graphics, Handle pen, float x, float y, float width, float height); -Status GdipDrawEllipseI(Handle graphics, Handle pen, int x, int y, int width, int height); -Status GdipDrawPie(Handle graphics, Handle pen, float x, float y, float width, float height, float startAngle, float sweepAngle); -Status GdipDrawPieI(Handle graphics, Handle pen, int x, int y, int width, int height, float startAngle, float sweepAngle); -Status GdipDrawPolygon(Handle graphics, Handle pen, GpPointF* points, int count); -Status GdipDrawPolygonI(Handle graphics, Handle pen, GpPoint* points, int count); -Status GdipDrawCurve(Handle graphics, Handle pen, GpPointF* points, int count); -Status GdipDrawCurve2(Handle graphics, Handle pen, GpPointF* points, int count, float tension); -Status GdipDrawCurve3(Handle graphics, Handle pen, GpPointF* points, int count, int offset, int numberOfSegments, float tension); -Status GdipDrawCurveI(Handle graphics, Handle pen, GpPoint* points, int count); -Status GdipDrawCurve2I(Handle graphics, Handle pen, GpPoint* points, int count, float tension); -Status GdipDrawCurve3I(Handle graphics, Handle pen, GpPoint* points, int count, int offset, int numberOfSegments, float tension); -Status GdipDrawClosedCurve(Handle graphics, Handle pen, GpPointF* points, int count); -Status GdipDrawClosedCurve2(Handle graphics, Handle pen, GpPointF* points, int count, float tension); -Status GdipDrawClosedCurveI(Handle graphics, Handle pen, GpPoint* points, int count); -Status GdipDrawClosedCurve2I(Handle graphics, Handle pen, GpPoint* points, int count, float tension); -Status GdipFillRectangleI(Handle graphics, Handle brush, int x, int y, int width, int height); -Status GdipFillRectangle(Handle graphics, Handle brush, float x, float y, float width, float height); -Status GdipFillRectanglesI(Handle graphics, Handle brush, GpRect* rects, int count); -Status GdipFillRectangles(Handle graphics, Handle brush, GpRectF* rects, int count); -Status GdipFillPolygon(Handle graphics, Handle brush, GpPointF* rects, int count, FillMode fillMode); -Status GdipFillPolygonI(Handle graphics, Handle brush, GpPoint* rects, int count, FillMode fillMode); -Status GdipFillEllipse(Handle graphics, Handle brush, float x, float y, float width, float height); -Status GdipFillEllipseI(Handle graphics, Handle brush, int x, int y, int width, int height); -Status GdipFillPie(Handle graphics, Handle brush, float x, float y, float width, float height, float startAngle, float sweepAngle); -Status GdipFillPieI(Handle graphics, Handle brush, int x, int y, int width, int height, float startAngle, float sweepAngle); -Status GdipFillPath(Handle graphics, Handle brush, Handle path); -Status GdipFillClosedCurve(Handle graphics, Handle brush, GpPointF* points, int count); -Status GdipFillClosedCurveI(Handle graphics, Handle brush, GpPoint* points, int count); -Status GdipFillClosedCurve2(Handle graphics, Handle brush, GpPointF* points, int count, FillMode fillMode, float tension); -Status GdipFillClosedCurve2I(Handle graphics, Handle brush, GpPoint* points, int count, FillMode fillMode, float tension); -Status GdipFillRegion(Handle graphics, Handle brush, Handle region); -Status GdipDrawString(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, Handle brush); -Status GdipMeasureString(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, ref GpRectF boundingBox, int* codepointsFitted, int* linesFitted); -Status GdipGetStringFormatMeasurableCharacterRangeCount(Handle format, out int count); -Status GdipCloneStringFormat(Handle format, out Handle newFormat); - -Status GdipMeasureCharacterRanges(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, int regionCount, Handle* regions); -Status GdipDrawImage(Handle graphics, Handle image, float x, float y); -Status GdipDrawImageI(Handle graphics, Handle image, int x, int y); -Status GdipDrawImageRect(Handle graphics, Handle image, float x, float y, float width, float height); -Status GdipDrawImageRectI(Handle graphics, Handle image, int x, int y, int width, int height); -Status GdipDrawImagePointRect(Handle graphics, Handle image, float x, float y, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit); -Status GdipDrawImagePointRectI(Handle graphics, Handle image, int x, int y, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit); -Status GdipDrawImageRectRect(Handle graphics, Handle image, float dstx, float dsty, float dstwidth, float dstheight, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData); -Status GdipDrawImageRectRectI(Handle graphics, Handle image, int dstx, int dsty, int dstwidth, int dstheight, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData); -Status GdipDrawImagePoints(Handle graphics, Handle image, GpPointF* dstpoints, int count); -Status GdipDrawImagePointsI(Handle graphics, Handle image, GpPoint* dstpoints, int count); -Status GdipDrawImagePointsRect(Handle graphics, Handle image, GpPointF* dstpoints, int count, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData); -Status GdipDrawImagePointsRectI(Handle graphics, Handle image, GpPoint* dstpoints, int count, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData); -Status GdipIsVisiblePoint(Handle graphics, float x, float y, out int result); -Status GdipIsVisiblePointI(Handle graphics, int x, int y, out int result); -Status GdipIsVisibleRect(Handle graphics, float x, float y, float width, float height, out int result); -Status GdipIsVisibleRectI(Handle graphics, int x, int y, int width, int height, out int result); -Status GdipGetTextRenderingHint(Handle graphics, out TextRenderingHint mode); -Status GdipSetTextRenderingHint(Handle graphics, TextRenderingHint mode); -Status GdipGetClipBounds(Handle graphics, out GpRectF rect); -Status GdipGetClipBoundsI(Handle graphics, out GpRect rect); -Status GdipGetVisibleClipBounds(Handle graphics, out GpRectF rect); -Status GdipGetVisibleClipBoundsI(Handle graphics, out GpRect rect); -Status GdipIsClipEmpty(Handle graphics, out int result); -Status GdipIsVisibleClipEmpty(Handle graphics, out int result); -Status GdipGetRenderingOrigin(Handle graphics, out int x, out int y); -Status GdipSetRenderingOrigin(Handle graphics, int x, int y); -Status GdipGetNearestColor(Handle graphics, ref int argb); -Status GdipComment(Handle graphics, uint sizeData, ubyte* data); -Status GdipTransformPoints(Handle graphics, CoordinateSpace destSpace, CoordinateSpace srcSpace, GpPointF* points, int count); -Status GdipTransformPointsI(Handle graphics, CoordinateSpace destSpace, CoordinateSpace srcSpace, GpPoint* points, int count); - -Status GdipCreateMatrix(out Handle matrix); -Status GdipCreateMatrix2(float m11, float m12, float m21, float m22, float dx, float dy, out Handle matrix); -Status GdipCreateMatrix3(ref GpRectF rect, GpPointF* dstplg, out Handle matrix); -Status GdipCreateMatrix3I(ref GpRect rect, GpPoint* dstplg, out Handle matrix); -Status GdipDeleteMatrix(Handle matrix); -Status GdipCloneMatrix(Handle matrix, out Handle cloneMatrix); -Status GdipGetMatrixElements(Handle matrix, float* matrixOut); -Status GdipSetMatrixElements(Handle matrix, float m11, float m12, float m21, float m22, float xy, float dy); -Status GdipInvertMatrix(Handle matrix); -Status GdipMultiplyMatrix(Handle matrix, Handle matrix2, MatrixOrder order); -Status GdipScaleMatrix(Handle matrix, float scaleX, float scaleY, MatrixOrder order); -Status GdipShearMatrix(Handle matrix, float shearX, float shearY, MatrixOrder order); -Status GdipRotateMatrix(Handle matrix, float angle, MatrixOrder order); -Status GdipTranslateMatrix(Handle matrix, float offsetX, float offsetY, MatrixOrder order); -Status GdipIsMatrixIdentity(Handle matrix, out int result); -Status GdipIsMatrixInvertible(Handle matrix, out int result); -Status GdipTransformMatrixPoints(Handle matrix, GpPointF *pts, int count); - -Status GdipGetBrushType(Handle brush, out BrushType type ); -Status GdipCloneBrush(Handle brush, out Handle cloneBrush); -Status GdipDeleteBrush(Handle brush); - -Status GdipCreateSolidFill(int color, out Handle brush); -Status GdipGetSolidFillColor(Handle brush, out int color); -Status GdipSetSolidFillColor(Handle brush, int color); - -Status GdipCreateTexture(Handle image, WrapMode wrapMode, out Handle texture); -Status GdipCreateTexture2(Handle image, WrapMode wrapMode, float x, float y, float width, float height, out Handle texture); -Status GdipCreateTexture2I(Handle image, WrapMode wrapMode, int x, int y, int width, int height, out Handle texture); -Status GdipGetTextureImage(Handle brush, out Handle image); -Status GdipGetTextureTransform(Handle brush, out Handle matrix); -Status GdipSetTextureTransform(Handle brush, Handle matrix); -Status GdipGetTextureWrapMode(Handle brush, out WrapMode wrapmode); -Status GdipSetTextureWrapMode(Handle brush, WrapMode wrapmode); - -Status GdipCreateHatchBrush(HatchStyle hatchstyle, int forecol, int backcol, out Handle brush); -Status GdipGetHatchStyle(Handle brush, out HatchStyle hatchstyle); -Status GdipGetHatchForegroundColor(Handle brush, out int forecol); -Status GdipGetHatchBackgroundColor(Handle brush, out int backcol); - -Status GdipCreateLineBrushI(ref GpPoint point1, ref GpPoint point2, int color1, int color2, WrapMode wrapMode, out Handle lineGradient); -Status GdipCreateLineBrush(ref GpPointF point1, ref GpPointF point2, int color1, int color2, WrapMode wrapMode, out Handle lineGradient); -Status GdipCreateLineBrushFromRectI(ref GpRect rect, int color1, int color2, LinearGradientMode mode, WrapMode wrapMode, out Handle lineGradient); -Status GdipCreateLineBrushFromRect(ref GpRectF rect, int color1, int color2, LinearGradientMode mode, WrapMode wrapMode, out Handle lineGradient); -Status GdipCreateLineBrushFromRectWithAngleI(ref GpRect rect, int color1, int color2, float angle, int isAngleScalable, WrapMode wrapMode, out Handle lineGradient); -Status GdipCreateLineBrushFromRectWithAngle(ref GpRectF rect, int color1, int color2, float angle, int isAngleScalable, WrapMode wrapMode, out Handle lineGradient); -Status GdipGetLineBlendCount(Handle brush, out int count); -Status GdipGetLineBlend(Handle brush, float* blend, float* positions, int count); -Status GdipSetLineBlend(Handle brush, float* blend, float* positions, int count); -Status GdipGetLinePresetBlendCount(Handle brush, out int count); -Status GdipGetLinePresetBlend(Handle brush, uint* blend, float* positions, int count); -Status GdipSetLinePresetBlend(Handle brush, uint* blend, float* positions, int count); -Status GdipGetLineWrapMode(Handle brush, out WrapMode wrapmode); -Status GdipSetLineWrapMode(Handle brush, WrapMode wrapmode); -Status GdipGetLineRect(Handle brush, out GpRectF rect); -Status GdipGetLineColors(Handle brush, int* colors); -Status GdipSetLineColors(Handle brush, int color1, int color2); -Status GdipGetLineGammaCorrection(Handle brush, out int useGammaCorrection); -Status GdipSetLineGammaCorrection(Handle brush, int useGammaCorrection); -Status GdipSetLineSigmaBlend(Handle brush, float focus, float scale); -Status GdipSetLineLinearBlend(Handle brush, float focus, float scale); -Status GdipGetLineTransform(Handle brush, out Handle matrix); -Status GdipSetLineTransform(Handle brush, Handle matrix); -Status GdipResetLineTransform(Handle brush); -Status GdipMultiplyLineTransform(Handle brush, Handle matrix, MatrixOrder order); -Status GdipTranslateLineTransform(Handle brush, float dx, float dy, MatrixOrder order); -Status GdipScaleLineTransform(Handle brush, float sx, float sy, MatrixOrder order); -Status GdipRotateLineTransform(Handle brush, float angle, MatrixOrder order); - -Status GdipCreatePen1(int argb, float width, GraphicsUnit unit, out Handle pen); -Status GdipCreatePen2(Handle brush, float width, GraphicsUnit unit, out Handle pen); -Status GdipDeletePen(Handle pen); -Status GdipClonePen(Handle pen, out Handle clonepen); -Status GdipSetPenLineCap197819(Handle pen, LineCap startCap, LineCap endCap, DashCap dashCap); -Status GdipGetPenStartCap(Handle pen, out LineCap startCap); -Status GdipSetPenStartCap(Handle pen, LineCap startCap); -Status GdipGetPenEndCap(Handle pen, out LineCap endCap); -Status GdipSetPenEndCap(Handle pen, LineCap endCap); -Status GdipGetPenDashCap197819(Handle pen, out DashCap endCap); -Status GdipSetPenDashCap197819(Handle pen, DashCap endCap); -Status GdipGetPenLineJoin(Handle pen, out LineJoin lineJoin); -Status GdipSetPenLineJoin(Handle pen, LineJoin lineJoin); -Status GdipGetPenMiterLimit(Handle pen, out float miterLimit); -Status GdipSetPenMiterLimit(Handle pen, float miterLimit); -Status GdipGetPenMode(Handle pen, out PenAlignment penMode); -Status GdipSetPenMode(Handle pen, PenAlignment penMode); -Status GdipGetPenTransform(Handle pen, out Handle matrix); -Status GdipSetPenTransform(Handle pen, Handle matrix); -Status GdipResetPenTransform(Handle pen); -Status GdipMultiplyPenTransform(Handle pen, Handle matrix, MatrixOrder order); -Status GdipTranslatePenTransform(Handle pen, float dx, float dy, MatrixOrder order); -Status GdipScalePenTransform(Handle pen, float sx, float sy, MatrixOrder order); -Status GdipRotatePenTransform(Handle pen, float angle, MatrixOrder order); -Status GdipGetPenColor(Handle pen, out int argb); -Status GdipSetPenColor(Handle pen, int argb); -Status GdipGetPenWidth(Handle pen, out float width); -Status GdipSetPenWidth(Handle pen, float width); -Status GdipGetPenFillType(Handle pen, out PenType type); -Status GdipGetPenBrushFill(Handle pen, out Handle brush); -Status GdipSetPenBrushFill(Handle pen, Handle brush); -Status GdipGetPenDashStyle(Handle pen, out DashStyle dashstyle); -Status GdipSetPenDashStyle(Handle pen, DashStyle dashstyle); -Status GdipGetPenDashOffset(Handle pen, out float offset); -Status GdipSetPenDashOffset(Handle pen, float offset); -Status GdipGetPenDashCount(Handle pen, out int count); -Status GdipGetPenDashArray(Handle pen, float* dash, int count); -Status GdipSetPenDashArray(Handle pen, float* dash, int count); -Status GdipGetPenCompoundCount(Handle pen, out int count); -Status GdipGetPenCompoundArray(Handle pen, float* dash, int count); -Status GdipSetPenCompoundArray(Handle pen, float* dash, int count); - -Status GdipCreateRegion(out Handle region); -Status GdipCreateRegionRect(ref GpRectF rect, out Handle region); -Status GdipCreateRegionRectI(ref GpRect rect, out Handle region); -Status GdipCreateRegionPath(Handle path, out Handle region); -Status GdipCreateRegionHrgn(Handle hRgn, out Handle region); -Status GdipDeleteRegion(Handle region); -Status GdipSetInfinite(Handle region); -Status GdipSetEmpty(Handle region); -Status GdipCombineRegionRect(Handle region, ref GpRectF rect, CombineMode combineMode); -Status GdipCombineRegionRectI(Handle region, ref GpRect rect, CombineMode combineMode); -Status GdipCombineRegionPath(Handle region, Handle path, CombineMode combineMode); -Status GdipCombineRegionRegion(Handle region, Handle region, CombineMode combineMode); -Status GdipTranslateRegion(Handle region, float dx, float dy); -Status GdipTranslateRegionI(Handle region, int dx, int dy); -Status GdipTransformRegion(Handle region, Handle matrix); -Status GdipGetRegionBounds(Handle region, Handle graphics, out GpRectF rect); -Status GdipGetRegionHRgn(Handle region, Handle graphics, out Handle hRgn); -Status GdipIsEmptyRegion(Handle region, Handle graphics, out int result); -Status GdipIsInfiniteRegion(Handle region, Handle graphics, out int result); -Status GdipIsEqualRegion(Handle region1, Handle region2, Handle graphics, out int result); -Status GdipIsVisibleRegionPoint(Handle region, float x, float y, Handle graphics, out int result); -Status GdipIsVisibleRegionRect(Handle region, float x, float y, float width, float height, Handle graphics, out int result); -Status GdipIsVisibleRegionPointI(Handle region, int x, int y, Handle graphics, out int result); -Status GdipIsVisibleRegionRectI(Handle region, int x, int y, int width, int height, Handle graphics, out int result); -Status GdipGetRegionScansCount(Handle region, out int count, Handle matrix); -Status GdipGetRegionScans(Handle region, GpRectF* rects, out int count, Handle matrix); - -Status GdipDisposeImage(Handle image); -Status GdipImageForceValidation(Handle image); -Status GdipLoadImageFromFileICM(wchar* filename, out Handle image); -Status GdipLoadImageFromFile(wchar* filename, out Handle image); -// Status GdipLoadImageFromStreamICM(IStream stream, out Handle image); -// Status GdipLoadImageFromStream(IStream stream, out Handle image); -// Status GdipGetImageRawFormat(Handle image, out GUID format); -Status GdipGetImageEncodersSize(out int numEncoders, out int size); -// Status GdipGetImageEncoders(int numEncoders, int size, GpImageCodecInfo* encoders); -// Status GdipSaveImageToFile(Handle image, wchar* filename, ref GUID clsidEncoder, GpEncoderParameters* encoderParams); -// Status GdipSaveImageToStream(Handle image, IStream stream, ref GUID clsidEncoder, GpEncoderParameters* encoderParams); -// Status GdipSaveAdd(Handle image, GpEncoderParameters* encoderParams); -// Status GdipSaveAddImage(Handle image, Handle newImage, GpEncoderParameters* encoderParams); -Status GdipCloneImage(Handle image, out Handle cloneImage); -Status GdipGetImageType(Handle image, out int type); -Status GdipGetImageFlags(Handle image, out uint flags); -Status GdipGetImageWidth(Handle image, out uint width); -Status GdipGetImageHeight(Handle image, out uint height); -Status GdipGetImageHorizontalResolution(Handle image, out float resolution); -Status GdipGetImageVerticalResolution(Handle image, out float resolution); -Status GdipGetPropertyCount(Handle image, out int numOfProperty); -Status GdipGetPropertyIdList(Handle image, int numOfProperty, int* list); -Status GdipGetImagePixelFormat(Handle image, out PixelFormat format); -Status GdipGetImageDimension(Handle image, out float width, out float height); -Status GdipGetImageThumbnail(Handle image, int thumbWidth, int thumbHeight, out Handle thumbImage, GpGetThumbnailImageAbort callback, void* callbackData); -// Status GdipImageGetFrameCount(Handle image, ref GUID dimensionID, out int count); -// Status GdipImageSelectActiveFrame(Handle image, ref GUID dimensionID, int frameCount); -Status GdipImageGetFrameDimensionsCount(Handle image, out int count); -// Status GdipImageGetFrameDimensionsList(Handle image, GUID* dimensionIDs, int count); -Status GdipImageRotateFlip(Handle image, RotateFlipType rotateFlipType); -Status GdipGetPropertyItemSize(Handle image, int propId, out uint propSize); -Status GdipGetPropertyItem(Handle image, int propId, uint propSize, GpPropertyItem* buffer); -Status GdipSetPropertyItem(Handle image, ref GpPropertyItem buffer); -Status GdipRemovePropertyItem(Handle image, int propId); -Status GdipGetPropertySize(Handle image, out uint totalBufferSize, ref int numProperties); -Status GdipGetAllPropertyItems(Handle image, uint totalBufferSize, int numProperties, GpPropertyItem* allItems); -Status GdipGetImageBounds(Handle image, out GpRectF srcRect, out GraphicsUnit srcUnit); -// Status GdipGetEncoderParameterListSize(Handle image, ref GUID clsidEncoder, out uint size); -// Status GdipGetEncoderParameterList(Handle image, ref GUID clsidEncoder, uint size, GpEncoderParameters* buffer); -Status GdipGetImagePaletteSize(Handle image, out int size); -Status GdipGetImagePalette(Handle image, GpColorPalette* palette, int size); -Status GdipSetImagePalette(Handle image, GpColorPalette* palette); - -Status GdipCreateBitmapFromScan0(int width, int height, int stride, PixelFormat format, ubyte* scan0, out Handle bitmap); -Status GdipCreateBitmapFromHBITMAP(Handle hbitmap, Handle hpalette, out Handle bitmap); -Status GdipCreateBitmapFromHICON(Handle hicon, out Handle bitmap); -Status GdipCreateBitmapFromFileICM(wchar* fileName, out Handle bitmap); -Status GdipCreateBitmapFromFile(wchar* fileName, out Handle bitmap); -// Status GdipCreateBitmapFromStreamICM(IStream stream, out Handle bitmap); -// Status GdipCreateBitmapFromStream(IStream stream, out Handle bitmap); -Status GdipCreateBitmapFromGraphics(int width, int height, Handle graphics, out Handle bitmap); -Status GdipCloneBitmapArea(float x, float y, float width, float height, PixelFormat format, Handle srcbitmap, out Handle dstbitmap); -Status GdipCloneBitmapAreaI(int x, int y, int width, int height, PixelFormat format, Handle srcbitmap, out Handle dstbitmap); -Status GdipBitmapGetPixel(Handle bitmap, int x, int y, out int color); -Status GdipBitmapSetPixel(Handle bitmap, int x, int y, int color); -Status GdipBitmapLockBits(Handle bitmap, GpRect* rect, ImageLockMode flags, PixelFormat format, GpBitmapData* lockedBitmapData); -Status GdipBitmapUnlockBits(Handle bitmap, GpBitmapData* lockedBitmapData); -Status GdipBitmapSetResolution(Handle bitmap, float xdpi, float ydpi); -Status GdipCreateHICONFromBitmap(Handle bitmap, out Handle hbmReturn); -Status GdipCreateHBITMAPFromBitmap(Handle bitmap, out Handle hbmReturn, int background); - -Status GdipCreateImageAttributes(out Handle imageattr); -Status GdipDisposeImageAttributes(Handle imageattr); -Status GdipSetImageAttributesColorMatrix(Handle imageattr, ColorAdjustType type, int enableFlag, GpColorMatrix* colorMatrix, GpColorMatrix* grayMatrix, ColorMatrixFlag flags); -Status GdipSetImageAttributesThreshold(Handle imageattr, ColorAdjustType type, int enableFlag, float threshold); -Status GdipSetImageAttributesGamma(Handle imageattr, ColorAdjustType type, int enableFlag, float gamma); -Status GdipSetImageAttributesNoOp(Handle imageattr, ColorAdjustType type, int enableFlag); -Status GdipSetImageAttributesColorKeys(Handle imageattr, ColorAdjustType type, int enableFlag, int colorLow, int colorHigh); -Status GdipSetImageAttributesOutputChannel(Handle imageattr, ColorAdjustType type, int enableFlag, ColorChannelFlag flags); -Status GdipSetImageAttributesOutputChannelColorProfile(Handle imageattr, ColorAdjustType type, int enableFlag, wchar* colorProfileFilename); -Status GdipSetImageAttributesWrapMode(Handle imageattr, WrapMode wrap, int argb, int clamp); - -Status GdipNewInstalledFontCollection(out Handle fontCollection); -Status GdipNewPrivateFontCollection(out Handle fontCollection); -Status GdipDeletePrivateFontCollection(Handle fontCollection); -Status GdipPrivateAddFontFile(Handle fontCollection, wchar* filename); -Status GdipPrivateAddMemoryFont(Handle fontCollection, void* memory, int length); -Status GdipGetFontCollectionFamilyCount(Handle fontCollection, out int numFound); -Status GdipGetFontCollectionFamilyList(Handle fontCollection, int numSought, Handle* gpfamilies, out int numFound); - -Status GdipCreateFontFamilyFromName(wchar* name, Handle fontCollection, out Handle FontFamily); -Status GdipDeleteFontFamily(Handle FontFamily); -Status GdipCloneFontFamily(Handle FontFamily, out Handle clonedFontFamily); -Status GdipGetFamilyName(Handle family, wchar* name, int language); -Status GdipGetGenericFontFamilyMonospace(out Handle nativeFamily); -Status GdipGetGenericFontFamilySerif(out Handle nativeFamily); -Status GdipGetGenericFontFamilySansSerif(out Handle nativeFamily); -Status GdipGetEmHeight(Handle family, FontStyle style, out short EmHeight); -Status GdipGetCellAscent(Handle family, FontStyle style, out short CellAscent); -Status GdipGetCellDescent(Handle family, FontStyle style, out short CellDescent); -Status GdipGetLineSpacing(Handle family, FontStyle style, out short LineSpacing); -Status GdipIsStyleAvailable(Handle family, FontStyle style, out int IsStyleAvailable); - -Status GdipCreateFont(Handle fontFamily, float emSize, int style, int unit, out Handle font); -Status GdipCreateFontFromDC(Handle hdc, out Handle font); -Status GdipDeleteFont(Handle font); -Status GdipCloneFont(Handle font, out Handle cloneFont); -Status GdipGetFontSize(Handle font, out float size); -Status GdipGetFontHeight(Handle font, Handle graphics, out float height); -Status GdipGetFontHeightGivenDPI(Handle font, float dpi, out float height); -Status GdipGetFontStyle(Handle font, out FontStyle style); -Status GdipGetFontUnit(Handle font, out GraphicsUnit unit); -Status GdipGetFamily(Handle font, out Handle family); -Status GdipCreateFontFromLogfontW( Handle hdc, ref LOGFONTW logfont, out Handle font); -Status GdipCreateFontFromLogfontA( Handle hdc, ref LOGFONTA logfont, out Handle font ); - -Status GdipGetLogFontW(Handle font, Handle graphics, out LOGFONTW logfontW); -alias GdipGetLogFontW GdipGetLogFont; - -Status GdipCreateStringFormat(StringFormatFlags formatAttributes, int language, out Handle format); -Status GdipDeleteStringFormat(Handle format); -Status GdipGetStringFormatFlags(Handle format, out StringFormatFlags flags); -Status GdipSetStringFormatFlags(Handle format, StringFormatFlags flags); -Status GdipGetStringFormatAlign(Handle format, out StringAlignment alignment); -Status GdipSetStringFormatAlign(Handle format, StringAlignment alignment); -Status GdipGetStringFormatLineAlign(Handle format, out StringAlignment alignment); -Status GdipSetStringFormatLineAlign(Handle format, StringAlignment alignment); -Status GdipGetStringFormatTrimming(Handle format, out StringTrimming trimming); -Status GdipSetStringFormatTrimming(Handle format, StringTrimming trimming); - -Status GdipCreatePath(FillMode brushMode, out Handle path); -Status GdipCreatePath2(GpPointF*, ubyte*, int, FillMode, out Handle); -Status GdipCreatePath2I(GpPoint*, ubyte*, int, FillMode, out Handle); -Status GdipDeletePath(Handle path); -Status GdipClonePath(Handle path, out Handle clonepath); -Status GdipResetPath(Handle path); -Status GdipGetPathFillMode(Handle path, out FillMode fillmode); -Status GdipSetPathFillMode(Handle path, FillMode fillmode); -Status GdipStartPathFigure(Handle path); -Status GdipClosePathFigure(Handle path); -Status GdipClosePathFigures(Handle path); -Status GdipSetPathMarker(Handle path); -Status GdipClearPathMarkers(Handle path); -Status GdipReversePath(Handle path); -Status GdipGetPathLastPoint(Handle path, out GpPointF lastPoint); -Status GdipAddPathLine(Handle path, float x1, float y1, float x2, float y2); -Status GdipAddPathLineI(Handle path, int x1, int y1, int x2, int y2); -Status GdipAddPathLine2(Handle path, GpPointF* points, int count); -Status GdipAddPathLine2I(Handle path, GpPoint* points, int count); -Status GdipAddPathArc(Handle path, float x, float y, float width, float height, float startAngle, float sweepAngle); -Status GdipAddPathArcI(Handle path, int x, int y, int width, int height, float startAngle, float sweepAngle); -Status GdipAddPathBezier(Handle path, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4); -Status GdipAddPathBezierI(Handle path, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); -Status GdipAddPathBeziers(Handle path, GpPointF* points, int count); -Status GdipAddPathBeziersI(Handle path, GpPoint* points, int count); -Status GdipAddPathCurve(Handle path, GpPointF* points, int count); -Status GdipAddPathCurveI(Handle path, GpPoint* points, int count); -Status GdipAddPathCurve2(Handle path, GpPointF* points, int count, float tension); -Status GdipAddPathCurve2I(Handle path, GpPoint* points, int count, float tension); -Status GdipAddPathCurve3(Handle path, GpPointF* points, int count, int offset, int numberOfSegments, float tension); -Status GdipAddPathCurve3I(Handle path, GpPoint* points, int count, int offset, int numberOfSegments, float tension); -Status GdipAddPathClosedCurve(Handle path, GpPointF* points, int count); -Status GdipAddPathClosedCurveI(Handle path, GpPoint* points, int count); -Status GdipAddPathClosedCurve2(Handle path, GpPointF* points, int count, float tension); -Status GdipAddPathClosedCurve2I(Handle path, GpPoint* points, int count, float tension); -Status GdipAddPathRectangle(Handle path, float x, float y, float width, float height); -Status GdipAddPathRectangleI(Handle path, int x, int y, int width, int height); -Status GdipAddPathRectangles(Handle path, GpRectF* rects, int count); -Status GdipAddPathRectanglesI(Handle path, GpRect* rects, int count); -Status GdipAddPathEllipse(Handle path, float x, float y, float width, float height); -Status GdipAddPathEllipseI(Handle path, int x, int y, int width, int height); -Status GdipAddPathPie(Handle path, float x, float y, float width, float height, float startAngle, float sweepAngle); -Status GdipAddPathPieI(Handle path, int x, int y, int width, int height, float startAngle, float sweepAngle); -Status GdipAddPathPolygon(Handle path, GpPointF* points, int count); -Status GdipAddPathPolygonI(Handle path, GpPoint* points, int count); -Status GdipAddPathPath(Handle path, Handle addingPath, int connect); -Status GdipAddPathString(Handle path, wchar* string, int length, Handle family, FontStyle style, float emSize, ref GpRectF layoutRect, Handle format); -Status GdipAddPathStringI(Handle path, wchar* string, int length, Handle family, FontStyle style, float emSize, ref GpRect layoutRect, Handle format); -Status GdipTransformPath(Handle path, Handle matrix); -Status GdipGetPathWorldBounds(Handle path, out GpRectF bounds, Handle matrix, Handle pen); -Status GdipFlattenPath(Handle path, Handle matrix, float flatness); -Status GdipWidenPath(Handle path, Handle pen, Handle matrix, float flatness); -Status GdipWindingModeOutline(Handle path, Handle matrix, float flatness); -Status GdipWarpPath(Handle path, Handle matrix, GpPointF* points, int count, float srcx, float srcy, float srcwidth, float srcwidth, WarpMode warpMode, float flatness); -Status GdipGetPointCount(Handle path, out int count); -Status GdipGetPathTypes(Handle path, byte* types, int count); -Status GdipGetPathPoints(Handle path, GpPointF* points, int count); -Status GdipIsVisiblePathPoint(Handle path, float x, float y, Handle graphics, out int result); -Status GdipIsVisiblePathPointI(Handle path, int x, int y, Handle graphics, out int result); -Status GdipIsOutlineVisiblePathPoint(Handle path, float x, float y, Handle pen, Handle graphics, out int result); -Status GdipIsOutlineVisiblePathPointI(Handle path, int x, int y, Handle pen, Handle graphics, out int result); -Status GdipDrawPath(Handle graphics, Handle pen, Handle path); - - -Status GdipCreatePathIter(out Handle iterator, Handle path); -Status GdipDeletePathIter(Handle iterator); -Status GdipPathIterNextSubpath(Handle iterator, out int resultCount, out int startIndex, out int endIndex, out int isClosed); -Status GdipPathIterNextSubpathPath(Handle iterator, out int resultCount, Handle path, out int isClosed); -Status GdipPathIterNextPathType(Handle iterator, out int resultCount, out ubyte pathType, out int startIndex, out int endIndex); -Status GdipPathIterNextMarker(Handle iterator, out int resultCount, out int startIndex, out int endIndex); -Status GdipPathIterNextMarkerPath(Handle iterator, out int resultCount, Handle path); -Status GdipPathIterGetCount(Handle iterator, out int count); -Status GdipPathIterGetSubpathCount(Handle iterator, out int count); -Status GdipPathIterHasCurve(Handle iterator, out int hasCurve); -Status GdipPathIterRewind(Handle iterator); -Status GdipPathIterEnumerate(Handle iterator, out int resultCount, GpPointF* points, ubyte* types, int count); -Status GdipPathIterCopyData(Handle iterator, out int resultCount, GpPointF* points, ubyte* types, int startIndex, int endIndex); - -Status GdipCreatePathGradient(GpPointF* points, int count, WrapMode wrapMode, out Handle polyGradient); -Status GdipCreatePathGradientI(GpPoint* points, int count, WrapMode wrapMode, out Handle polyGradient); -Status GdipCreatePathGradientFromPath(Handle path, out Handle polyGradient); -Status GdipGetPathGradientCenterColor(Handle brush, out int colors); -Status GdipSetPathGradientCenterColor(Handle brush, int colors); -Status GdipGetPathGradientSurroundColorCount(Handle brush, out int count); -Status GdipGetPathGradientSurroundColorsWithCount(Handle brush, int* color, ref int count); -Status GdipSetPathGradientSurroundColorsWithCount(Handle brush, int* color, ref int count); -Status GdipGetPathGradientCenterPoint(Handle brush, ref GpPointF point); -Status GdipSetPathGradientCenterPoint(Handle brush, ref GpPointF point); -Status GdipGetPathGradientRect(Handle brush, ref GpRectF rect); -Status GdipGetPathGradientBlendCount(Handle brush, out int count); -Status GdipGetPathGradientBlend(Handle brush, float* blend, float* positions, int count); -Status GdipSetPathGradientBlend(Handle brush, float* blend, float* positions, int count); -Status GdipGetPathGradientPresetBlendCount(Handle brush, out int count); -Status GdipGetPathGradientPresetBlend(Handle brush, int* blend, float* positions, int count); -Status GdipSetPathGradientPresetBlend(Handle brush, int* blend, float* positions, int count); -Status GdipSetPathGradientSigmaBlend(Handle brush, float focus, float scale); -Status GdipSetPathGradientLinearBlend(Handle brush, float focus, float scale); -Status GdipGetPathGradientTransform(Handle brush, out Handle matrix); -Status GdipSetPathGradientTransform(Handle brush, Handle matrix); -Status GdipResetPathGradientTransform(Handle brush); -Status GdipMultiplyPathGradientTransform(Handle brush, Handle matrix, MatrixOrder order); -Status GdipRotatePathGradientTransform(Handle brush, float angle, MatrixOrder order); -Status GdipTranslatePathGradientTransform(Handle brush, float dx, float dy, MatrixOrder order); -Status GdipScalePathGradientTransform(Handle brush, float sx, float sy, MatrixOrder order); -Status GdipGetPathGradientFocusScales(Handle brush, out float xScale, out float yScale); -Status GdipSetPathGradientFocusScales(Handle brush, float xScale, float yScale); -Status GdipGetPathGradientWrapMode(Handle brush, out WrapMode wrapMode); -Status GdipSetPathGradientWrapMode(Handle brush, WrapMode wrapMode); - -//added - -Status GdipResetTextureTransform( Handle brush ); -Status GdipScaleTextureTransform( Handle brush, float sx, float sy, MatrixOrder order ); -Status GdipTranslateTextureTransform( Handle brush, float dx, float dy, MatrixOrder order); -Status GdipStringFormatGetGenericDefault(out Handle format); -Status GdipStringFormatGetGenericTypographic(out Handle format); -Status GdipSetStringFormatHotkeyPrefix(Handle format, int hotkeyPrefix); -Status GdipSetStringFormatTabStops( Handle format, float firstTabOffset, int count, float* tabStops); - -void loadLib_Gdip(){ - // do nothing in this version -} - -} -else{ // version(!STATIC_GDIPLUS) -Status function( uint* token, GdiplusStartupInput* input, GdiplusStartupOutput* output) GdiplusStartup; -void function(uint token) GdiplusShutdown; -Status function(Handle hdc, out Handle graphics) GdipCreateFromHDC; -Status function(Handle hdc, Handle hDevice, out Handle graphics) GdipCreateFromHDC2; -Status function(Handle hwnd, out Handle graphics) GdipCreateFromHWND; -Status function(Handle image, out Handle graphics) GdipGetImageGraphicsContext; -Status function(Handle graphics) GdipDeleteGraphics; -Status function(Handle graphics, out Handle hdc) GdipGetDC; -Status function(Handle graphics, Handle hdc) GdipReleaseDC; -Status function(Handle graphics, Handle srcgraphics, CombineMode combineMode) GdipSetClipGraphics; -Status function(Handle graphics, int x, int y, int width, int height, CombineMode combineMode) GdipSetClipRectI; -Status function(Handle graphics, float x, float y, float width, float height, CombineMode combineMode) GdipSetClipRect; -Status function(Handle graphics, Handle path, CombineMode combineMode) GdipSetClipPath; -Status function(Handle graphics, Handle region, CombineMode combineMode) GdipSetClipRegion; -Status function(Handle graphics, HRGN hRgn, CombineMode combineMode) GdipSetClipHrgn; -Status function(Handle graphics, out Handle region) GdipGetClip; -Status function(Handle graphics) GdipResetClip; -Status function(Handle graphics, out uint state) GdipSaveGraphics; -Status function(Handle graphics, int state) GdipRestoreGraphics; -Status function(Handle graphics, FlushIntention intention) GdipFlush; -Status function(Handle graphics, float sx, float sy, MatrixOrder order) GdipScaleWorldTransform; -Status function(Handle graphics, float angle, MatrixOrder order) GdipRotateWorldTransform; -Status function(Handle graphics, float dx, float dy, MatrixOrder order) GdipTranslateWorldTransform; -Status function(Handle graphics, Handle matrix, MatrixOrder order) GdipMultiplyWorldTransform; -Status function(Handle graphics) GdipResetWorldTransform; -Status function(Handle graphics, ref GpRectF dstrect, ref GpRectF srcrect, GraphicsUnit unit, out int state) GdipBeginContainer; -Status function(Handle graphics, ref GpRect dstrect, ref GpRect srcrect, GraphicsUnit unit, out int state) GdipBeginContainerI; -Status function(Handle graphics, out int state) GdipBeginContainer2; -Status function(Handle graphics, int state) GdipEndContainer; -Status function(Handle graphics, out float dpi) GdipGetDpiX; -Status function(Handle graphics, out float dpi) GdipGetDpiY; -Status function(Handle graphics, out GraphicsUnit unit) GdipGetPageUnit; -Status function(Handle graphics, GraphicsUnit unit) GdipSetPageUnit; -Status function(Handle graphics, out float scale) GdipGetPageScale; -Status function(Handle graphics, float scale) GdipSetPageScale; -Status function(Handle graphics, Handle matrix) GdipGetWorldTransform; -Status function(Handle graphics, Handle matrix) GdipSetWorldTransform; -Status function(Handle graphics, out CompositingMode compositingMode) GdipGetCompositingMode; -Status function(Handle graphics, CompositingMode compositingMode) GdipSetCompositingMode; -Status function(Handle graphics, out CompositingQuality compositingQuality) GdipGetCompositingQuality; -Status function(Handle graphics, CompositingQuality compositingQuality) GdipSetCompositingQuality; -Status function(Handle graphics, out InterpolationMode interpolationMode) GdipGetInterpolationMode; -Status function(Handle graphics, InterpolationMode interpolationMode) GdipSetInterpolationMode; -Status function(Handle graphics, out SmoothingMode smoothingMode) GdipGetSmoothingMode; -Status function(Handle graphics, SmoothingMode smoothingMode) GdipSetSmoothingMode; -Status function(Handle graphics, out PixelOffsetMode pixelOffsetMode) GdipGetPixelOffsetMode; -Status function(Handle graphics, PixelOffsetMode pixelOffsetMode) GdipSetPixelOffsetMode; -Status function(Handle graphics, out uint textContrast) GdipGetTextContrast; -Status function(Handle graphics, uint textContrast) GdipSetTextContrast; -Status function(Handle graphics, int color) GdipGraphicsClear; -Status function(Handle graphics, Handle pen, float x1, float y1, float x2, float y2) GdipDrawLine; -Status function(Handle graphics, Handle pen, GpPointF* points, int count) GdipDrawLines; -Status function(Handle graphics, Handle pen, int x1, int y1, int x2, int y2) GdipDrawLineI; -Status function(Handle graphics, Handle pen, GpPoint* points, int count) GdipDrawLinesI; -Status function(Handle graphics, Handle pen, float x, float y, float width, float height, float startAngle, float sweepAngle) GdipDrawArc; -Status function(Handle graphics, Handle pen, int x, int y, int width, int height, float startAngle, float sweepAngle) GdipDrawArcI; -Status function(Handle graphics, Handle pen, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4) GdipDrawBezier; -Status function(Handle graphics, Handle pen, GpPointF* points, int count) GdipDrawBeziers; -Status function(Handle graphics, Handle pen, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) GdipDrawBezierI; -Status function(Handle graphics, Handle pen, GpPoint* points, int count) GdipDrawBeziersI; -Status function(Handle graphics, Handle pen, float x, float y, float width, float height) GdipDrawRectangle; -Status function(Handle graphics, Handle pen, GpRectF* rects, int count) GdipDrawRectangles; -Status function(Handle graphics, Handle pen, int x, int y, int width, int height) GdipDrawRectangleI; -Status function(Handle graphics, Handle pen, GpRect* rects, int count) GdipDrawRectanglesI; -Status function(Handle graphics, Handle pen, float x, float y, float width, float height) GdipDrawEllipse; -Status function(Handle graphics, Handle pen, int x, int y, int width, int height) GdipDrawEllipseI; -Status function(Handle graphics, Handle pen, float x, float y, float width, float height, float startAngle, float sweepAngle) GdipDrawPie; -Status function(Handle graphics, Handle pen, int x, int y, int width, int height, float startAngle, float sweepAngle) GdipDrawPieI; -Status function(Handle graphics, Handle pen, GpPointF* points, int count) GdipDrawPolygon; -Status function(Handle graphics, Handle pen, GpPoint* points, int count) GdipDrawPolygonI; -Status function(Handle graphics, Handle pen, GpPointF* points, int count) GdipDrawCurve; -Status function(Handle graphics, Handle pen, GpPointF* points, int count, float tension) GdipDrawCurve2; -Status function(Handle graphics, Handle pen, GpPointF* points, int count, int offset, int numberOfSegments, float tension) GdipDrawCurve3; -Status function(Handle graphics, Handle pen, GpPoint* points, int count) GdipDrawCurveI; -Status function(Handle graphics, Handle pen, GpPoint* points, int count, float tension) GdipDrawCurve2I; -Status function(Handle graphics, Handle pen, GpPoint* points, int count, int offset, int numberOfSegments, float tension) GdipDrawCurve3I; -Status function(Handle graphics, Handle pen, GpPointF* points, int count) GdipDrawClosedCurve; -Status function(Handle graphics, Handle pen, GpPointF* points, int count, float tension) GdipDrawClosedCurve2; -Status function(Handle graphics, Handle pen, GpPoint* points, int count) GdipDrawClosedCurveI; -Status function(Handle graphics, Handle pen, GpPoint* points, int count, float tension) GdipDrawClosedCurve2I; -Status function(Handle graphics, Handle brush, int x, int y, int width, int height) GdipFillRectangleI; -Status function(Handle graphics, Handle brush, float x, float y, float width, float height) GdipFillRectangle; -Status function(Handle graphics, Handle brush, GpRect* rects, int count) GdipFillRectanglesI; -Status function(Handle graphics, Handle brush, GpRectF* rects, int count) GdipFillRectangles; -Status function(Handle graphics, Handle brush, GpPointF* rects, int count, FillMode fillMode) GdipFillPolygon; -Status function(Handle graphics, Handle brush, GpPoint* rects, int count, FillMode fillMode) GdipFillPolygonI; -Status function(Handle graphics, Handle brush, float x, float y, float width, float height) GdipFillEllipse; -Status function(Handle graphics, Handle brush, int x, int y, int width, int height) GdipFillEllipseI; -Status function(Handle graphics, Handle brush, float x, float y, float width, float height, float startAngle, float sweepAngle) GdipFillPie; -Status function(Handle graphics, Handle brush, int x, int y, int width, int height, float startAngle, float sweepAngle) GdipFillPieI; -Status function(Handle graphics, Handle brush, Handle path) GdipFillPath; -Status function(Handle graphics, Handle brush, GpPointF* points, int count) GdipFillClosedCurve; -Status function(Handle graphics, Handle brush, GpPoint* points, int count) GdipFillClosedCurveI; -Status function(Handle graphics, Handle brush, GpPointF* points, int count, FillMode fillMode, float tension) GdipFillClosedCurve2; -Status function(Handle graphics, Handle brush, GpPoint* points, int count, FillMode fillMode, float tension) GdipFillClosedCurve2I; -Status function(Handle graphics, Handle brush, Handle region) GdipFillRegion; -Status function(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, Handle brush) GdipDrawString; -Status function(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, ref GpRectF boundingBox, int* codepointsFitted, int* linesFitted) GdipMeasureString; -Status function(Handle format, out int count) GdipGetStringFormatMeasurableCharacterRangeCount; -Status function(Handle format, out Handle newFormat) GdipCloneStringFormat; -Status function(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, int regionCount, Handle* regions) GdipMeasureCharacterRanges; -Status function(Handle graphics, Handle image, float x, float y) GdipDrawImage; -Status function(Handle graphics, Handle image, int x, int y) GdipDrawImageI; -Status function(Handle graphics, Handle image, float x, float y, float width, float height) GdipDrawImageRect; -Status function(Handle graphics, Handle image, int x, int y, int width, int height) GdipDrawImageRectI; -Status function(Handle graphics, Handle image, float x, float y, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit) GdipDrawImagePointRect; -Status function(Handle graphics, Handle image, int x, int y, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit) GdipDrawImagePointRectI; -Status function(Handle graphics, Handle image, float dstx, float dsty, float dstwidth, float dstheight, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData) GdipDrawImageRectRect; -Status function(Handle graphics, Handle image, int dstx, int dsty, int dstwidth, int dstheight, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData) GdipDrawImageRectRectI; -Status function(Handle graphics, Handle image, GpPointF* dstpoints, int count) GdipDrawImagePoints; -Status function(Handle graphics, Handle image, GpPoint* dstpoints, int count) GdipDrawImagePointsI; -Status function(Handle graphics, Handle image, GpPointF* dstpoints, int count, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData) GdipDrawImagePointsRect; -Status function(Handle graphics, Handle image, GpPoint* dstpoints, int count, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData) GdipDrawImagePointsRectI; -Status function(Handle graphics, float x, float y, out int result) GdipIsVisiblePoint; -Status function(Handle graphics, int x, int y, out int result) GdipIsVisiblePointI; -Status function(Handle graphics, float x, float y, float width, float height, out int result) GdipIsVisibleRect; -Status function(Handle graphics, int x, int y, int width, int height, out int result) GdipIsVisibleRectI; -Status function(Handle graphics, out TextRenderingHint mode) GdipGetTextRenderingHint; -Status function(Handle graphics, TextRenderingHint mode) GdipSetTextRenderingHint; -Status function(Handle graphics, out GpRectF rect) GdipGetClipBounds; -Status function(Handle graphics, out GpRect rect) GdipGetClipBoundsI; -Status function(Handle graphics, out GpRectF rect) GdipGetVisibleClipBounds; -Status function(Handle graphics, out GpRect rect) GdipGetVisibleClipBoundsI; -Status function(Handle graphics, out int result) GdipIsClipEmpty; -Status function(Handle graphics, out int result) GdipIsVisibleClipEmpty; -Status function(Handle graphics, out int x, out int y) GdipGetRenderingOrigin; -Status function(Handle graphics, int x, int y) GdipSetRenderingOrigin; -Status function(Handle graphics, ref int argb) GdipGetNearestColor; -Status function(Handle graphics, uint sizeData, ubyte* data) GdipComment; -Status function(Handle graphics, CoordinateSpace destSpace, CoordinateSpace srcSpace, GpPointF* points, int count) GdipTransformPoints; -Status function(Handle graphics, CoordinateSpace destSpace, CoordinateSpace srcSpace, GpPoint* points, int count) GdipTransformPointsI; -Status function(out Handle matrix) GdipCreateMatrix; -Status function(float m11, float m12, float m21, float m22, float dx, float dy, out Handle matrix) GdipCreateMatrix2; -Status function(ref GpRectF rect, GpPointF* dstplg, out Handle matrix) GdipCreateMatrix3; -Status function(ref GpRect rect, GpPoint* dstplg, out Handle matrix) GdipCreateMatrix3I; -Status function(Handle matrix) GdipDeleteMatrix; -Status function(Handle matrix, out Handle cloneMatrix) GdipCloneMatrix; -Status function(Handle matrix, float* matrixOut) GdipGetMatrixElements; -Status function(Handle matrix, float m11, float m12, float m21, float m22, float xy, float dy) GdipSetMatrixElements; -Status function(Handle matrix) GdipInvertMatrix; -Status function(Handle matrix, Handle matrix2, MatrixOrder order) GdipMultiplyMatrix; -Status function(Handle matrix, float scaleX, float scaleY, MatrixOrder order) GdipScaleMatrix; -Status function(Handle matrix, float shearX, float shearY, MatrixOrder order) GdipShearMatrix; -Status function(Handle matrix, float angle, MatrixOrder order) GdipRotateMatrix; -Status function(Handle matrix, float offsetX, float offsetY, MatrixOrder order) GdipTranslateMatrix; -Status function(Handle matrix, out int result) GdipIsMatrixIdentity; -Status function(Handle matrix, out int result) GdipIsMatrixInvertible; -Status function(Handle matrix, GpPointF *pts, int count) GdipTransformMatrixPoints; -Status function(Handle brush, out BrushType type ) GdipGetBrushType; -Status function(Handle brush, out Handle cloneBrush) GdipCloneBrush; -Status function(Handle brush) GdipDeleteBrush; -Status function(int color, out Handle brush) GdipCreateSolidFill; -Status function(Handle brush, out int color) GdipGetSolidFillColor; -Status function(Handle brush, int color) GdipSetSolidFillColor; -Status function(Handle image, WrapMode wrapMode, out Handle texture) GdipCreateTexture; -Status function(Handle image, WrapMode wrapMode, float x, float y, float width, float height, out Handle texture) GdipCreateTexture2; -Status function(Handle image, WrapMode wrapMode, int x, int y, int width, int height, out Handle texture) GdipCreateTexture2I; -Status function(Handle brush, out Handle image) GdipGetTextureImage; -Status function(Handle brush, out Handle matrix) GdipGetTextureTransform; -Status function(Handle brush, Handle matrix) GdipSetTextureTransform; -Status function(Handle brush, out WrapMode wrapmode) GdipGetTextureWrapMode; -Status function(Handle brush, WrapMode wrapmode) GdipSetTextureWrapMode; -Status function(HatchStyle hatchstyle, int forecol, int backcol, out Handle brush) GdipCreateHatchBrush; -Status function(Handle brush, out HatchStyle hatchstyle) GdipGetHatchStyle; -Status function(Handle brush, out int forecol) GdipGetHatchForegroundColor; -Status function(Handle brush, out int backcol) GdipGetHatchBackgroundColor; -Status function(ref GpPoint point1, ref GpPoint point2, int color1, int color2, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrushI; -Status function(ref GpPointF point1, ref GpPointF point2, int color1, int color2, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrush; -Status function(ref GpRect rect, int color1, int color2, LinearGradientMode mode, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrushFromRectI; -Status function(ref GpRectF rect, int color1, int color2, LinearGradientMode mode, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrushFromRect; -Status function(ref GpRect rect, int color1, int color2, float angle, int isAngleScalable, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrushFromRectWithAngleI; -Status function(ref GpRectF rect, int color1, int color2, float angle, int isAngleScalable, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrushFromRectWithAngle; -Status function(Handle brush, out int count) GdipGetLineBlendCount; -Status function(Handle brush, float* blend, float* positions, int count) GdipGetLineBlend; -Status function(Handle brush, float* blend, float* positions, int count) GdipSetLineBlend; -Status function(Handle brush, out int count) GdipGetLinePresetBlendCount; -Status function(Handle brush, uint* blend, float* positions, int count) GdipGetLinePresetBlend; -Status function(Handle brush, uint* blend, float* positions, int count) GdipSetLinePresetBlend; -Status function(Handle brush, out WrapMode wrapmode) GdipGetLineWrapMode; -Status function(Handle brush, WrapMode wrapmode) GdipSetLineWrapMode; -Status function(Handle brush, out GpRectF rect) GdipGetLineRect; -Status function(Handle brush, int* colors) GdipGetLineColors; -Status function(Handle brush, int color1, int color2) GdipSetLineColors; -Status function(Handle brush, out int useGammaCorrection) GdipGetLineGammaCorrection; -Status function(Handle brush, int useGammaCorrection) GdipSetLineGammaCorrection; -Status function(Handle brush, float focus, float scale) GdipSetLineSigmaBlend; -Status function(Handle brush, float focus, float scale) GdipSetLineLinearBlend; -Status function(Handle brush, out Handle matrix) GdipGetLineTransform; -Status function(Handle brush, Handle matrix) GdipSetLineTransform; -Status function(Handle brush) GdipResetLineTransform; -Status function(Handle brush, Handle matrix, MatrixOrder order) GdipMultiplyLineTransform; -Status function(Handle brush, float dx, float dy, MatrixOrder order) GdipTranslateLineTransform; -Status function(Handle brush, float sx, float sy, MatrixOrder order) GdipScaleLineTransform; -Status function(Handle brush, float angle, MatrixOrder order) GdipRotateLineTransform; -Status function(int argb, float width, GraphicsUnit unit, out Handle pen) GdipCreatePen1; -Status function(Handle brush, float width, GraphicsUnit unit, out Handle pen) GdipCreatePen2; -Status function(Handle pen) GdipDeletePen; -Status function(Handle pen, out Handle clonepen) GdipClonePen; -Status function(Handle pen, LineCap startCap, LineCap endCap, DashCap dashCap) GdipSetPenLineCap197819; -Status function(Handle pen, out LineCap startCap) GdipGetPenStartCap; -Status function(Handle pen, LineCap startCap) GdipSetPenStartCap; -Status function(Handle pen, out LineCap endCap) GdipGetPenEndCap; -Status function(Handle pen, LineCap endCap) GdipSetPenEndCap; -Status function(Handle pen, out DashCap endCap) GdipGetPenDashCap197819; -Status function(Handle pen, DashCap endCap) GdipSetPenDashCap197819; -Status function(Handle pen, out LineJoin lineJoin) GdipGetPenLineJoin; -Status function(Handle pen, LineJoin lineJoin) GdipSetPenLineJoin; -Status function(Handle pen, out float miterLimit) GdipGetPenMiterLimit; -Status function(Handle pen, float miterLimit) GdipSetPenMiterLimit; -Status function(Handle pen, out PenAlignment penMode) GdipGetPenMode; -Status function(Handle pen, PenAlignment penMode) GdipSetPenMode; -Status function(Handle pen, out Handle matrix) GdipGetPenTransform; -Status function(Handle pen, Handle matrix) GdipSetPenTransform; -Status function(Handle pen) GdipResetPenTransform; -Status function(Handle pen, Handle matrix, MatrixOrder order) GdipMultiplyPenTransform; -Status function(Handle pen, float dx, float dy, MatrixOrder order) GdipTranslatePenTransform; -Status function(Handle pen, float sx, float sy, MatrixOrder order) GdipScalePenTransform; -Status function(Handle pen, float angle, MatrixOrder order) GdipRotatePenTransform; -Status function(Handle pen, out int argb) GdipGetPenColor; -Status function(Handle pen, int argb) GdipSetPenColor; -Status function(Handle pen, out float width) GdipGetPenWidth; -Status function(Handle pen, float width) GdipSetPenWidth; -Status function(Handle pen, out PenType type) GdipGetPenFillType; -Status function(Handle pen, out Handle brush) GdipGetPenBrushFill; -Status function(Handle pen, Handle brush) GdipSetPenBrushFill; -Status function(Handle pen, out DashStyle dashstyle) GdipGetPenDashStyle; -Status function(Handle pen, DashStyle dashstyle) GdipSetPenDashStyle; -Status function(Handle pen, out float offset) GdipGetPenDashOffset; -Status function(Handle pen, float offset) GdipSetPenDashOffset; -Status function(Handle pen, out int count) GdipGetPenDashCount; -Status function(Handle pen, float* dash, int count) GdipGetPenDashArray; -Status function(Handle pen, float* dash, int count) GdipSetPenDashArray; -Status function(Handle pen, out int count) GdipGetPenCompoundCount; -Status function(Handle pen, float* dash, int count) GdipGetPenCompoundArray; -Status function(Handle pen, float* dash, int count) GdipSetPenCompoundArray; -Status function(out Handle region) GdipCreateRegion; -Status function(ref GpRectF rect, out Handle region) GdipCreateRegionRect; -Status function(ref GpRect rect, out Handle region) GdipCreateRegionRectI; -Status function(Handle path, out Handle region) GdipCreateRegionPath; -Status function(Handle hRgn, out Handle region) GdipCreateRegionHrgn; -Status function(Handle region) GdipDeleteRegion; -Status function(Handle region) GdipSetInfinite; -Status function(Handle region) GdipSetEmpty; -Status function(Handle region, ref GpRectF rect, CombineMode combineMode) GdipCombineRegionRect; -Status function(Handle region, ref GpRect rect, CombineMode combineMode) GdipCombineRegionRectI; -Status function(Handle region, Handle path, CombineMode combineMode) GdipCombineRegionPath; -Status function(Handle region, Handle region, CombineMode combineMode) GdipCombineRegionRegion; -Status function(Handle region, float dx, float dy) GdipTranslateRegion; -Status function(Handle region, int dx, int dy) GdipTranslateRegionI; -Status function(Handle region, Handle matrix) GdipTransformRegion; -Status function(Handle region, Handle graphics, out GpRectF rect) GdipGetRegionBounds; -Status function(Handle region, Handle graphics, out Handle hRgn) GdipGetRegionHRgn; -Status function(Handle region, Handle graphics, out int result) GdipIsEmptyRegion; -Status function(Handle region, Handle graphics, out int result) GdipIsInfiniteRegion; -Status function(Handle region1, Handle region2, Handle graphics, out int result) GdipIsEqualRegion; -Status function(Handle region, float x, float y, Handle graphics, out int result) GdipIsVisibleRegionPoint; -Status function(Handle region, float x, float y, float width, float height, Handle graphics, out int result) GdipIsVisibleRegionRect; -Status function(Handle region, int x, int y, Handle graphics, out int result) GdipIsVisibleRegionPointI; -Status function(Handle region, int x, int y, int width, int height, Handle graphics, out int result) GdipIsVisibleRegionRectI; -Status function(Handle region, out int count, Handle matrix) GdipGetRegionScansCount; -Status function(Handle region, GpRectF* rects, out int count, Handle matrix) GdipGetRegionScans; -Status function(Handle image) GdipDisposeImage; -Status function(Handle image) GdipImageForceValidation; -Status function(wchar* filename, out Handle image) GdipLoadImageFromFileICM; -Status function(wchar* filename, out Handle image) GdipLoadImageFromFile; -Status function(out int numEncoders, out int size) GdipGetImageEncodersSize; -Status function(Handle image, out Handle cloneImage) GdipCloneImage; -Status function(Handle image, out int type) GdipGetImageType; -Status function(Handle image, out uint flags) GdipGetImageFlags; -Status function(Handle image, out uint width) GdipGetImageWidth; -Status function(Handle image, out uint height) GdipGetImageHeight; -Status function(Handle image, out float resolution) GdipGetImageHorizontalResolution; -Status function(Handle image, out float resolution) GdipGetImageVerticalResolution; -Status function(Handle image, out int numOfProperty) GdipGetPropertyCount; -Status function(Handle image, int numOfProperty, int* list) GdipGetPropertyIdList; -Status function(Handle image, out PixelFormat format) GdipGetImagePixelFormat; -Status function(Handle image, out float width, out float height) GdipGetImageDimension; -Status function(Handle image, int thumbWidth, int thumbHeight, out Handle thumbImage, GpGetThumbnailImageAbort callback, void* callbackData) GdipGetImageThumbnail; -Status function(Handle image, out int count) GdipImageGetFrameDimensionsCount; -Status function(Handle image, RotateFlipType rotateFlipType) GdipImageRotateFlip; -Status function(Handle image, int propId, out uint propSize) GdipGetPropertyItemSize; -Status function(Handle image, int propId, uint propSize, GpPropertyItem* buffer) GdipGetPropertyItem; -Status function(Handle image, ref GpPropertyItem buffer) GdipSetPropertyItem; -Status function(Handle image, int propId) GdipRemovePropertyItem; -Status function(Handle image, out uint totalBufferSize, ref int numProperties) GdipGetPropertySize; -Status function(Handle image, uint totalBufferSize, int numProperties, GpPropertyItem* allItems) GdipGetAllPropertyItems; -Status function(Handle image, out GpRectF srcRect, out GraphicsUnit srcUnit) GdipGetImageBounds; -Status function(Handle image, out int size) GdipGetImagePaletteSize; -Status function(Handle image, GpColorPalette* palette, int size) GdipGetImagePalette; -Status function(Handle image, GpColorPalette* palette) GdipSetImagePalette; -Status function(int width, int height, int stride, PixelFormat format, ubyte* scan0, out Handle bitmap) GdipCreateBitmapFromScan0; -Status function(Handle hbitmap, Handle hpalette, out Handle bitmap) GdipCreateBitmapFromHBITMAP; -Status function(Handle hicon, out Handle bitmap) GdipCreateBitmapFromHICON; -Status function(wchar* fileName, out Handle bitmap) GdipCreateBitmapFromFileICM; -Status function(wchar* fileName, out Handle bitmap) GdipCreateBitmapFromFile; -Status function(int width, int height, Handle graphics, out Handle bitmap) GdipCreateBitmapFromGraphics; -Status function(float x, float y, float width, float height, PixelFormat format, Handle srcbitmap, out Handle dstbitmap) GdipCloneBitmapArea; -Status function(int x, int y, int width, int height, PixelFormat format, Handle srcbitmap, out Handle dstbitmap) GdipCloneBitmapAreaI; -Status function(Handle bitmap, int x, int y, out int color) GdipBitmapGetPixel; -Status function(Handle bitmap, int x, int y, int color) GdipBitmapSetPixel; -Status function(Handle bitmap, GpRect* rect, ImageLockMode flags, PixelFormat format, GpBitmapData* lockedBitmapData) GdipBitmapLockBits; -Status function(Handle bitmap, GpBitmapData* lockedBitmapData) GdipBitmapUnlockBits; -Status function(Handle bitmap, float xdpi, float ydpi) GdipBitmapSetResolution; -Status function(Handle bitmap, out Handle hbmReturn) GdipCreateHICONFromBitmap; -Status function(Handle bitmap, out Handle hbmReturn, int background) GdipCreateHBITMAPFromBitmap; -Status function(out Handle imageattr) GdipCreateImageAttributes; -Status function(Handle imageattr) GdipDisposeImageAttributes; -Status function(Handle imageattr, ColorAdjustType type, int enableFlag, GpColorMatrix* colorMatrix, GpColorMatrix* grayMatrix, ColorMatrixFlag flags) GdipSetImageAttributesColorMatrix; -Status function(Handle imageattr, ColorAdjustType type, int enableFlag, float threshold) GdipSetImageAttributesThreshold; -Status function(Handle imageattr, ColorAdjustType type, int enableFlag, float gamma) GdipSetImageAttributesGamma; -Status function(Handle imageattr, ColorAdjustType type, int enableFlag) GdipSetImageAttributesNoOp; -Status function(Handle imageattr, ColorAdjustType type, int enableFlag, int colorLow, int colorHigh) GdipSetImageAttributesColorKeys; -Status function(Handle imageattr, ColorAdjustType type, int enableFlag, ColorChannelFlag flags) GdipSetImageAttributesOutputChannel; -Status function(Handle imageattr, ColorAdjustType type, int enableFlag, wchar* colorProfileFilename) GdipSetImageAttributesOutputChannelColorProfile; -Status function(Handle imageattr, WrapMode wrap, int argb, int clamp) GdipSetImageAttributesWrapMode; -Status function(out Handle fontCollection) GdipNewInstalledFontCollection; -Status function(out Handle fontCollection) GdipNewPrivateFontCollection; -Status function(Handle fontCollection) GdipDeletePrivateFontCollection; -Status function(Handle fontCollection, wchar* filename) GdipPrivateAddFontFile; -Status function(Handle fontCollection, void* memory, int length) GdipPrivateAddMemoryFont; -Status function(Handle fontCollection, out int numFound) GdipGetFontCollectionFamilyCount; -Status function(Handle fontCollection, int numSought, Handle* gpfamilies, out int numFound) GdipGetFontCollectionFamilyList; -Status function(wchar* name, Handle fontCollection, out Handle FontFamily) GdipCreateFontFamilyFromName; -Status function(Handle FontFamily) GdipDeleteFontFamily; -Status function(Handle FontFamily, out Handle clonedFontFamily) GdipCloneFontFamily; -Status function(Handle family, wchar* name, int language) GdipGetFamilyName; -Status function(out Handle nativeFamily) GdipGetGenericFontFamilyMonospace; -Status function(out Handle nativeFamily) GdipGetGenericFontFamilySerif; -Status function(out Handle nativeFamily) GdipGetGenericFontFamilySansSerif; -Status function(Handle family, FontStyle style, out short EmHeight) GdipGetEmHeight; -Status function(Handle family, FontStyle style, out short CellAscent) GdipGetCellAscent; -Status function(Handle family, FontStyle style, out short CellDescent) GdipGetCellDescent; -Status function(Handle family, FontStyle style, out short LineSpacing) GdipGetLineSpacing; -Status function(Handle family, FontStyle style, out int IsStyleAvailable) GdipIsStyleAvailable; -Status function(Handle fontFamily, float emSize, int style, int unit, out Handle font) GdipCreateFont; -Status function(Handle hdc, out Handle font) GdipCreateFontFromDC; -Status function(Handle font) GdipDeleteFont; -Status function(Handle font, out Handle cloneFont) GdipCloneFont; -Status function(Handle font, out float size) GdipGetFontSize; -Status function(Handle font, Handle graphics, out float height) GdipGetFontHeight; -Status function(Handle font, float dpi, out float height) GdipGetFontHeightGivenDPI; -Status function(Handle font, out FontStyle style) GdipGetFontStyle; -Status function(Handle font, out GraphicsUnit unit) GdipGetFontUnit; -Status function(Handle font, out Handle family) GdipGetFamily; -Status function( Handle hdc, ref LOGFONTW logfont, out Handle font) GdipCreateFontFromLogfontW; -Status function( Handle hdc, ref LOGFONTA logfont, out Handle font ) GdipCreateFontFromLogfontA; -Status function(Handle font, Handle graphics, out LOGFONTW logfontW) GdipGetLogFontW; -Status function(StringFormatFlags formatAttributes, int language, out Handle format) GdipCreateStringFormat; -Status function(Handle format) GdipDeleteStringFormat; -Status function(Handle format, out StringFormatFlags flags) GdipGetStringFormatFlags; -Status function(Handle format, StringFormatFlags flags) GdipSetStringFormatFlags; -Status function(Handle format, out StringAlignment alignment) GdipGetStringFormatAlign; -Status function(Handle format, StringAlignment alignment) GdipSetStringFormatAlign; -Status function(Handle format, out StringAlignment alignment) GdipGetStringFormatLineAlign; -Status function(Handle format, StringAlignment alignment) GdipSetStringFormatLineAlign; -Status function(Handle format, out StringTrimming trimming) GdipGetStringFormatTrimming; -Status function(Handle format, StringTrimming trimming) GdipSetStringFormatTrimming; -Status function(FillMode brushMode, out Handle path) GdipCreatePath; -Status function(GpPointF*, ubyte*, int, FillMode, out Handle) GdipCreatePath2; -Status function(GpPoint*, ubyte*, int, FillMode, out Handle) GdipCreatePath2I; -Status function(Handle path) GdipDeletePath; -Status function(Handle path, out Handle clonepath) GdipClonePath; -Status function(Handle path) GdipResetPath; -Status function(Handle path, out FillMode fillmode) GdipGetPathFillMode; -Status function(Handle path, FillMode fillmode) GdipSetPathFillMode; -Status function(Handle path) GdipStartPathFigure; -Status function(Handle path) GdipClosePathFigure; -Status function(Handle path) GdipClosePathFigures; -Status function(Handle path) GdipSetPathMarker; -Status function(Handle path) GdipClearPathMarkers; -Status function(Handle path) GdipReversePath; -Status function(Handle path, out GpPointF lastPoint) GdipGetPathLastPoint; -Status function(Handle path, float x1, float y1, float x2, float y2) GdipAddPathLine; -Status function(Handle path, int x1, int y1, int x2, int y2) GdipAddPathLineI; -Status function(Handle path, GpPointF* points, int count) GdipAddPathLine2; -Status function(Handle path, GpPoint* points, int count) GdipAddPathLine2I; -Status function(Handle path, float x, float y, float width, float height, float startAngle, float sweepAngle) GdipAddPathArc; -Status function(Handle path, int x, int y, int width, int height, float startAngle, float sweepAngle) GdipAddPathArcI; -Status function(Handle path, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4) GdipAddPathBezier; -Status function(Handle path, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) GdipAddPathBezierI; -Status function(Handle path, GpPointF* points, int count) GdipAddPathBeziers; -Status function(Handle path, GpPoint* points, int count) GdipAddPathBeziersI; -Status function(Handle path, GpPointF* points, int count) GdipAddPathCurve; -Status function(Handle path, GpPoint* points, int count) GdipAddPathCurveI; -Status function(Handle path, GpPointF* points, int count, float tension) GdipAddPathCurve2; -Status function(Handle path, GpPoint* points, int count, float tension) GdipAddPathCurve2I; -Status function(Handle path, GpPointF* points, int count, int offset, int numberOfSegments, float tension) GdipAddPathCurve3; -Status function(Handle path, GpPoint* points, int count, int offset, int numberOfSegments, float tension) GdipAddPathCurve3I; -Status function(Handle path, GpPointF* points, int count) GdipAddPathClosedCurve; -Status function(Handle path, GpPoint* points, int count) GdipAddPathClosedCurveI; -Status function(Handle path, GpPointF* points, int count, float tension) GdipAddPathClosedCurve2; -Status function(Handle path, GpPoint* points, int count, float tension) GdipAddPathClosedCurve2I; -Status function(Handle path, float x, float y, float width, float height) GdipAddPathRectangle; -Status function(Handle path, int x, int y, int width, int height) GdipAddPathRectangleI; -Status function(Handle path, GpRectF* rects, int count) GdipAddPathRectangles; -Status function(Handle path, GpRect* rects, int count) GdipAddPathRectanglesI; -Status function(Handle path, float x, float y, float width, float height) GdipAddPathEllipse; -Status function(Handle path, int x, int y, int width, int height) GdipAddPathEllipseI; -Status function(Handle path, float x, float y, float width, float height, float startAngle, float sweepAngle) GdipAddPathPie; -Status function(Handle path, int x, int y, int width, int height, float startAngle, float sweepAngle) GdipAddPathPieI; -Status function(Handle path, GpPointF* points, int count) GdipAddPathPolygon; -Status function(Handle path, GpPoint* points, int count) GdipAddPathPolygonI; -Status function(Handle path, Handle addingPath, int connect) GdipAddPathPath; -Status function(Handle path, wchar* string, int length, Handle family, FontStyle style, float emSize, ref GpRectF layoutRect, Handle format) GdipAddPathString; -Status function(Handle path, wchar* string, int length, Handle family, FontStyle style, float emSize, ref GpRect layoutRect, Handle format) GdipAddPathStringI; -Status function(Handle path, Handle matrix) GdipTransformPath; -Status function(Handle path, out GpRectF bounds, Handle matrix, Handle pen) GdipGetPathWorldBounds; -Status function(Handle path, Handle matrix, float flatness) GdipFlattenPath; -Status function(Handle path, Handle pen, Handle matrix, float flatness) GdipWidenPath; -Status function(Handle path, Handle matrix, float flatness) GdipWindingModeOutline; -Status function(Handle path, Handle matrix, GpPointF* points, int count, float srcx, float srcy, float srcwidth, float srcwidth, WarpMode warpMode, float flatness) GdipWarpPath; -Status function(Handle path, out int count) GdipGetPointCount; -Status function(Handle path, byte* types, int count) GdipGetPathTypes; -Status function(Handle path, GpPointF* points, int count) GdipGetPathPoints; -Status function(Handle path, float x, float y, Handle graphics, out int result) GdipIsVisiblePathPoint; -Status function(Handle path, int x, int y, Handle graphics, out int result) GdipIsVisiblePathPointI; -Status function(Handle path, float x, float y, Handle pen, Handle graphics, out int result) GdipIsOutlineVisiblePathPoint; -Status function(Handle path, int x, int y, Handle pen, Handle graphics, out int result) GdipIsOutlineVisiblePathPointI; -Status function(Handle graphics, Handle pen, Handle path) GdipDrawPath; -Status function(out Handle iterator, Handle path) GdipCreatePathIter; -Status function(Handle iterator) GdipDeletePathIter; -Status function(Handle iterator, out int resultCount, out int startIndex, out int endIndex, out int isClosed) GdipPathIterNextSubpath; -Status function(Handle iterator, out int resultCount, Handle path, out int isClosed) GdipPathIterNextSubpathPath; -Status function(Handle iterator, out int resultCount, out ubyte pathType, out int startIndex, out int endIndex) GdipPathIterNextPathType; -Status function(Handle iterator, out int resultCount, out int startIndex, out int endIndex) GdipPathIterNextMarker; -Status function(Handle iterator, out int resultCount, Handle path) GdipPathIterNextMarkerPath; -Status function(Handle iterator, out int count) GdipPathIterGetCount; -Status function(Handle iterator, out int count) GdipPathIterGetSubpathCount; -Status function(Handle iterator, out int hasCurve) GdipPathIterHasCurve; -Status function(Handle iterator) GdipPathIterRewind; -Status function(Handle iterator, out int resultCount, GpPointF* points, ubyte* types, int count) GdipPathIterEnumerate; -Status function(Handle iterator, out int resultCount, GpPointF* points, ubyte* types, int startIndex, int endIndex) GdipPathIterCopyData; -Status function(GpPointF* points, int count, WrapMode wrapMode, out Handle polyGradient) GdipCreatePathGradient; -Status function(GpPoint* points, int count, WrapMode wrapMode, out Handle polyGradient) GdipCreatePathGradientI; -Status function(Handle path, out Handle polyGradient) GdipCreatePathGradientFromPath; -Status function(Handle brush, out int colors) GdipGetPathGradientCenterColor; -Status function(Handle brush, int colors) GdipSetPathGradientCenterColor; -Status function(Handle brush, out int count) GdipGetPathGradientSurroundColorCount; -Status function(Handle brush, int* color, ref int count) GdipGetPathGradientSurroundColorsWithCount; -Status function(Handle brush, int* color, ref int count) GdipSetPathGradientSurroundColorsWithCount; -Status function(Handle brush, ref GpPointF point) GdipGetPathGradientCenterPoint; -Status function(Handle brush, ref GpPointF point) GdipSetPathGradientCenterPoint; -Status function(Handle brush, ref GpRectF rect) GdipGetPathGradientRect; -Status function(Handle brush, out int count) GdipGetPathGradientBlendCount; -Status function(Handle brush, float* blend, float* positions, int count) GdipGetPathGradientBlend; -Status function(Handle brush, float* blend, float* positions, int count) GdipSetPathGradientBlend; -Status function(Handle brush, out int count) GdipGetPathGradientPresetBlendCount; -Status function(Handle brush, int* blend, float* positions, int count) GdipGetPathGradientPresetBlend; -Status function(Handle brush, int* blend, float* positions, int count) GdipSetPathGradientPresetBlend; -Status function(Handle brush, float focus, float scale) GdipSetPathGradientSigmaBlend; -Status function(Handle brush, float focus, float scale) GdipSetPathGradientLinearBlend; -Status function(Handle brush, out Handle matrix) GdipGetPathGradientTransform; -Status function(Handle brush, Handle matrix) GdipSetPathGradientTransform; -Status function(Handle brush) GdipResetPathGradientTransform; -Status function(Handle brush, Handle matrix, MatrixOrder order) GdipMultiplyPathGradientTransform; -Status function(Handle brush, float angle, MatrixOrder order) GdipRotatePathGradientTransform; -Status function(Handle brush, float dx, float dy, MatrixOrder order) GdipTranslatePathGradientTransform; -Status function(Handle brush, float sx, float sy, MatrixOrder order) GdipScalePathGradientTransform; -Status function(Handle brush, out float xScale, out float yScale) GdipGetPathGradientFocusScales; -Status function(Handle brush, float xScale, float yScale) GdipSetPathGradientFocusScales; -Status function(Handle brush, out WrapMode wrapMode) GdipGetPathGradientWrapMode; -Status function(Handle brush, WrapMode wrapMode) GdipSetPathGradientWrapMode; -Status function( Handle brush ) GdipResetTextureTransform; -Status function( Handle brush, float sx, float sy, MatrixOrder order ) GdipScaleTextureTransform; -Status function( Handle brush, float dx, float dy, MatrixOrder order) GdipTranslateTextureTransform; -Status function(out Handle format) GdipStringFormatGetGenericDefault; -Status function(out Handle format) GdipStringFormatGetGenericTypographic; -Status function(Handle format, int hotkeyPrefix) GdipSetStringFormatHotkeyPrefix; -Status function( Handle format, float firstTabOffset, int count, float* tabStops) GdipSetStringFormatTabStops; - -struct Symbol { - char[] name; - void** symbol; -} - -Symbol[] symbols = [ - { "GdiplusStartup", cast(void**)& GdiplusStartup }, - { "GdiplusShutdown", cast(void**)& GdiplusShutdown }, - { "GdipCreateFromHDC", cast(void**)& GdipCreateFromHDC }, - { "GdipCreateFromHDC2", cast(void**)& GdipCreateFromHDC2 }, - { "GdipCreateFromHWND", cast(void**)& GdipCreateFromHWND }, - { "GdipGetImageGraphicsContext", cast(void**)& GdipGetImageGraphicsContext }, - { "GdipDeleteGraphics", cast(void**)& GdipDeleteGraphics }, - { "GdipGetDC", cast(void**)& GdipGetDC }, - { "GdipReleaseDC", cast(void**)& GdipReleaseDC }, - { "GdipSetClipGraphics", cast(void**)& GdipSetClipGraphics }, - { "GdipSetClipRectI", cast(void**)& GdipSetClipRectI }, - { "GdipSetClipRect", cast(void**)& GdipSetClipRect }, - { "GdipSetClipPath", cast(void**)& GdipSetClipPath }, - { "GdipSetClipRegion", cast(void**)& GdipSetClipRegion }, - { "GdipSetClipHrgn", cast(void**)& GdipSetClipHrgn }, - { "GdipGetClip", cast(void**)& GdipGetClip }, - { "GdipResetClip", cast(void**)& GdipResetClip }, - { "GdipSaveGraphics", cast(void**)& GdipSaveGraphics }, - { "GdipRestoreGraphics", cast(void**)& GdipRestoreGraphics }, - { "GdipFlush", cast(void**)& GdipFlush }, - { "GdipScaleWorldTransform", cast(void**)& GdipScaleWorldTransform }, - { "GdipRotateWorldTransform", cast(void**)& GdipRotateWorldTransform }, - { "GdipTranslateWorldTransform", cast(void**)& GdipTranslateWorldTransform }, - { "GdipMultiplyWorldTransform", cast(void**)& GdipMultiplyWorldTransform }, - { "GdipResetWorldTransform", cast(void**)& GdipResetWorldTransform }, - { "GdipBeginContainer", cast(void**)& GdipBeginContainer }, - { "GdipBeginContainerI", cast(void**)& GdipBeginContainerI }, - { "GdipBeginContainer2", cast(void**)& GdipBeginContainer2 }, - { "GdipEndContainer", cast(void**)& GdipEndContainer }, - { "GdipGetDpiX", cast(void**)& GdipGetDpiX }, - { "GdipGetDpiY", cast(void**)& GdipGetDpiY }, - { "GdipGetPageUnit", cast(void**)& GdipGetPageUnit }, - { "GdipSetPageUnit", cast(void**)& GdipSetPageUnit }, - { "GdipGetPageScale", cast(void**)& GdipGetPageScale }, - { "GdipSetPageScale", cast(void**)& GdipSetPageScale }, - { "GdipGetWorldTransform", cast(void**)& GdipGetWorldTransform }, - { "GdipSetWorldTransform", cast(void**)& GdipSetWorldTransform }, - { "GdipGetCompositingMode", cast(void**)& GdipGetCompositingMode }, - { "GdipSetCompositingMode", cast(void**)& GdipSetCompositingMode }, - { "GdipGetCompositingQuality", cast(void**)& GdipGetCompositingQuality }, - { "GdipSetCompositingQuality", cast(void**)& GdipSetCompositingQuality }, - { "GdipGetInterpolationMode", cast(void**)& GdipGetInterpolationMode }, - { "GdipSetInterpolationMode", cast(void**)& GdipSetInterpolationMode }, - { "GdipGetSmoothingMode", cast(void**)& GdipGetSmoothingMode }, - { "GdipSetSmoothingMode", cast(void**)& GdipSetSmoothingMode }, - { "GdipGetPixelOffsetMode", cast(void**)& GdipGetPixelOffsetMode }, - { "GdipSetPixelOffsetMode", cast(void**)& GdipSetPixelOffsetMode }, - { "GdipGetTextContrast", cast(void**)& GdipGetTextContrast }, - { "GdipSetTextContrast", cast(void**)& GdipSetTextContrast }, - { "GdipGraphicsClear", cast(void**)& GdipGraphicsClear }, - { "GdipDrawLine", cast(void**)& GdipDrawLine }, - { "GdipDrawLines", cast(void**)& GdipDrawLines }, - { "GdipDrawLineI", cast(void**)& GdipDrawLineI }, - { "GdipDrawLinesI", cast(void**)& GdipDrawLinesI }, - { "GdipDrawArc", cast(void**)& GdipDrawArc }, - { "GdipDrawArcI", cast(void**)& GdipDrawArcI }, - { "GdipDrawBezier", cast(void**)& GdipDrawBezier }, - { "GdipDrawBeziers", cast(void**)& GdipDrawBeziers }, - { "GdipDrawBezierI", cast(void**)& GdipDrawBezierI }, - { "GdipDrawBeziersI", cast(void**)& GdipDrawBeziersI }, - { "GdipDrawRectangle", cast(void**)& GdipDrawRectangle }, - { "GdipDrawRectangles", cast(void**)& GdipDrawRectangles }, - { "GdipDrawRectangleI", cast(void**)& GdipDrawRectangleI }, - { "GdipDrawRectanglesI", cast(void**)& GdipDrawRectanglesI }, - { "GdipDrawEllipse", cast(void**)& GdipDrawEllipse }, - { "GdipDrawEllipseI", cast(void**)& GdipDrawEllipseI }, - { "GdipDrawPie", cast(void**)& GdipDrawPie }, - { "GdipDrawPieI", cast(void**)& GdipDrawPieI }, - { "GdipDrawPolygon", cast(void**)& GdipDrawPolygon }, - { "GdipDrawPolygonI", cast(void**)& GdipDrawPolygonI }, - { "GdipDrawCurve", cast(void**)& GdipDrawCurve }, - { "GdipDrawCurve2", cast(void**)& GdipDrawCurve2 }, - { "GdipDrawCurve3", cast(void**)& GdipDrawCurve3 }, - { "GdipDrawCurveI", cast(void**)& GdipDrawCurveI }, - { "GdipDrawCurve2I", cast(void**)& GdipDrawCurve2I }, - { "GdipDrawCurve3I", cast(void**)& GdipDrawCurve3I }, - { "GdipDrawClosedCurve", cast(void**)& GdipDrawClosedCurve }, - { "GdipDrawClosedCurve2", cast(void**)& GdipDrawClosedCurve2 }, - { "GdipDrawClosedCurveI", cast(void**)& GdipDrawClosedCurveI }, - { "GdipDrawClosedCurve2I", cast(void**)& GdipDrawClosedCurve2I }, - { "GdipFillRectangleI", cast(void**)& GdipFillRectangleI }, - { "GdipFillRectangle", cast(void**)& GdipFillRectangle }, - { "GdipFillRectanglesI", cast(void**)& GdipFillRectanglesI }, - { "GdipFillRectangles", cast(void**)& GdipFillRectangles }, - { "GdipFillPolygon", cast(void**)& GdipFillPolygon }, - { "GdipFillPolygonI", cast(void**)& GdipFillPolygonI }, - { "GdipFillEllipse", cast(void**)& GdipFillEllipse }, - { "GdipFillEllipseI", cast(void**)& GdipFillEllipseI }, - { "GdipFillPie", cast(void**)& GdipFillPie }, - { "GdipFillPieI", cast(void**)& GdipFillPieI }, - { "GdipFillPath", cast(void**)& GdipFillPath }, - { "GdipFillClosedCurve", cast(void**)& GdipFillClosedCurve }, - { "GdipFillClosedCurveI", cast(void**)& GdipFillClosedCurveI }, - { "GdipFillClosedCurve2", cast(void**)& GdipFillClosedCurve2 }, - { "GdipFillClosedCurve2I", cast(void**)& GdipFillClosedCurve2I }, - { "GdipFillRegion", cast(void**)& GdipFillRegion }, - { "GdipDrawString", cast(void**)& GdipDrawString }, - { "GdipMeasureString", cast(void**)& GdipMeasureString }, - { "GdipGetStringFormatMeasurableCharacterRangeCount", cast(void**)& GdipGetStringFormatMeasurableCharacterRangeCount }, - { "GdipCloneStringFormat", cast(void**)& GdipCloneStringFormat }, - { "GdipMeasureCharacterRanges", cast(void**)& GdipMeasureCharacterRanges }, - { "GdipDrawImage", cast(void**)& GdipDrawImage }, - { "GdipDrawImageI", cast(void**)& GdipDrawImageI }, - { "GdipDrawImageRect", cast(void**)& GdipDrawImageRect }, - { "GdipDrawImageRectI", cast(void**)& GdipDrawImageRectI }, - { "GdipDrawImagePointRect", cast(void**)& GdipDrawImagePointRect }, - { "GdipDrawImagePointRectI", cast(void**)& GdipDrawImagePointRectI }, - { "GdipDrawImageRectRect", cast(void**)& GdipDrawImageRectRect }, - { "GdipDrawImageRectRectI", cast(void**)& GdipDrawImageRectRectI }, - { "GdipDrawImagePoints", cast(void**)& GdipDrawImagePoints }, - { "GdipDrawImagePointsI", cast(void**)& GdipDrawImagePointsI }, - { "GdipDrawImagePointsRect", cast(void**)& GdipDrawImagePointsRect }, - { "GdipDrawImagePointsRectI", cast(void**)& GdipDrawImagePointsRectI }, - { "GdipIsVisiblePoint", cast(void**)& GdipIsVisiblePoint }, - { "GdipIsVisiblePointI", cast(void**)& GdipIsVisiblePointI }, - { "GdipIsVisibleRect", cast(void**)& GdipIsVisibleRect }, - { "GdipIsVisibleRectI", cast(void**)& GdipIsVisibleRectI }, - { "GdipGetTextRenderingHint", cast(void**)& GdipGetTextRenderingHint }, - { "GdipSetTextRenderingHint", cast(void**)& GdipSetTextRenderingHint }, - { "GdipGetClipBounds", cast(void**)& GdipGetClipBounds }, - { "GdipGetClipBoundsI", cast(void**)& GdipGetClipBoundsI }, - { "GdipGetVisibleClipBounds", cast(void**)& GdipGetVisibleClipBounds }, - { "GdipGetVisibleClipBoundsI", cast(void**)& GdipGetVisibleClipBoundsI }, - { "GdipIsClipEmpty", cast(void**)& GdipIsClipEmpty }, - { "GdipIsVisibleClipEmpty", cast(void**)& GdipIsVisibleClipEmpty }, - { "GdipGetRenderingOrigin", cast(void**)& GdipGetRenderingOrigin }, - { "GdipSetRenderingOrigin", cast(void**)& GdipSetRenderingOrigin }, - { "GdipGetNearestColor", cast(void**)& GdipGetNearestColor }, - { "GdipComment", cast(void**)& GdipComment }, - { "GdipTransformPoints", cast(void**)& GdipTransformPoints }, - { "GdipTransformPointsI", cast(void**)& GdipTransformPointsI }, - { "GdipCreateMatrix", cast(void**)& GdipCreateMatrix }, - { "GdipCreateMatrix2", cast(void**)& GdipCreateMatrix2 }, - { "GdipCreateMatrix3", cast(void**)& GdipCreateMatrix3 }, - { "GdipCreateMatrix3I", cast(void**)& GdipCreateMatrix3I }, - { "GdipDeleteMatrix", cast(void**)& GdipDeleteMatrix }, - { "GdipCloneMatrix", cast(void**)& GdipCloneMatrix }, - { "GdipGetMatrixElements", cast(void**)& GdipGetMatrixElements }, - { "GdipSetMatrixElements", cast(void**)& GdipSetMatrixElements }, - { "GdipInvertMatrix", cast(void**)& GdipInvertMatrix }, - { "GdipMultiplyMatrix", cast(void**)& GdipMultiplyMatrix }, - { "GdipScaleMatrix", cast(void**)& GdipScaleMatrix }, - { "GdipShearMatrix", cast(void**)& GdipShearMatrix }, - { "GdipRotateMatrix", cast(void**)& GdipRotateMatrix }, - { "GdipTranslateMatrix", cast(void**)& GdipTranslateMatrix }, - { "GdipIsMatrixIdentity", cast(void**)& GdipIsMatrixIdentity }, - { "GdipIsMatrixInvertible", cast(void**)& GdipIsMatrixInvertible }, - { "GdipTransformMatrixPoints", cast(void**)& GdipTransformMatrixPoints }, - { "GdipGetBrushType", cast(void**)& GdipGetBrushType }, - { "GdipCloneBrush", cast(void**)& GdipCloneBrush }, - { "GdipDeleteBrush", cast(void**)& GdipDeleteBrush }, - { "GdipCreateSolidFill", cast(void**)& GdipCreateSolidFill }, - { "GdipGetSolidFillColor", cast(void**)& GdipGetSolidFillColor }, - { "GdipSetSolidFillColor", cast(void**)& GdipSetSolidFillColor }, - { "GdipCreateTexture", cast(void**)& GdipCreateTexture }, - { "GdipCreateTexture2", cast(void**)& GdipCreateTexture2 }, - { "GdipCreateTexture2I", cast(void**)& GdipCreateTexture2I }, - { "GdipGetTextureImage", cast(void**)& GdipGetTextureImage }, - { "GdipGetTextureTransform", cast(void**)& GdipGetTextureTransform }, - { "GdipSetTextureTransform", cast(void**)& GdipSetTextureTransform }, - { "GdipGetTextureWrapMode", cast(void**)& GdipGetTextureWrapMode }, - { "GdipSetTextureWrapMode", cast(void**)& GdipSetTextureWrapMode }, - { "GdipCreateHatchBrush", cast(void**)& GdipCreateHatchBrush }, - { "GdipGetHatchStyle", cast(void**)& GdipGetHatchStyle }, - { "GdipGetHatchForegroundColor", cast(void**)& GdipGetHatchForegroundColor }, - { "GdipGetHatchBackgroundColor", cast(void**)& GdipGetHatchBackgroundColor }, - { "GdipCreateLineBrushI", cast(void**)& GdipCreateLineBrushI }, - { "GdipCreateLineBrush", cast(void**)& GdipCreateLineBrush }, - { "GdipCreateLineBrushFromRectI", cast(void**)& GdipCreateLineBrushFromRectI }, - { "GdipCreateLineBrushFromRect", cast(void**)& GdipCreateLineBrushFromRect }, - { "GdipCreateLineBrushFromRectWithAngleI", cast(void**)& GdipCreateLineBrushFromRectWithAngleI }, - { "GdipCreateLineBrushFromRectWithAngle", cast(void**)& GdipCreateLineBrushFromRectWithAngle }, - { "GdipGetLineBlendCount", cast(void**)& GdipGetLineBlendCount }, - { "GdipGetLineBlend", cast(void**)& GdipGetLineBlend }, - { "GdipSetLineBlend", cast(void**)& GdipSetLineBlend }, - { "GdipGetLinePresetBlendCount", cast(void**)& GdipGetLinePresetBlendCount }, - { "GdipGetLinePresetBlend", cast(void**)& GdipGetLinePresetBlend }, - { "GdipSetLinePresetBlend", cast(void**)& GdipSetLinePresetBlend }, - { "GdipGetLineWrapMode", cast(void**)& GdipGetLineWrapMode }, - { "GdipSetLineWrapMode", cast(void**)& GdipSetLineWrapMode }, - { "GdipGetLineRect", cast(void**)& GdipGetLineRect }, - { "GdipGetLineColors", cast(void**)& GdipGetLineColors }, - { "GdipSetLineColors", cast(void**)& GdipSetLineColors }, - { "GdipGetLineGammaCorrection", cast(void**)& GdipGetLineGammaCorrection }, - { "GdipSetLineGammaCorrection", cast(void**)& GdipSetLineGammaCorrection }, - { "GdipSetLineSigmaBlend", cast(void**)& GdipSetLineSigmaBlend }, - { "GdipSetLineLinearBlend", cast(void**)& GdipSetLineLinearBlend }, - { "GdipGetLineTransform", cast(void**)& GdipGetLineTransform }, - { "GdipSetLineTransform", cast(void**)& GdipSetLineTransform }, - { "GdipResetLineTransform", cast(void**)& GdipResetLineTransform }, - { "GdipMultiplyLineTransform", cast(void**)& GdipMultiplyLineTransform }, - { "GdipTranslateLineTransform", cast(void**)& GdipTranslateLineTransform }, - { "GdipScaleLineTransform", cast(void**)& GdipScaleLineTransform }, - { "GdipRotateLineTransform", cast(void**)& GdipRotateLineTransform }, - { "GdipCreatePen1", cast(void**)& GdipCreatePen1 }, - { "GdipCreatePen2", cast(void**)& GdipCreatePen2 }, - { "GdipDeletePen", cast(void**)& GdipDeletePen }, - { "GdipClonePen", cast(void**)& GdipClonePen }, - { "GdipSetPenLineCap197819", cast(void**)& GdipSetPenLineCap197819 }, - { "GdipGetPenStartCap", cast(void**)& GdipGetPenStartCap }, - { "GdipSetPenStartCap", cast(void**)& GdipSetPenStartCap }, - { "GdipGetPenEndCap", cast(void**)& GdipGetPenEndCap }, - { "GdipSetPenEndCap", cast(void**)& GdipSetPenEndCap }, - { "GdipGetPenDashCap197819", cast(void**)& GdipGetPenDashCap197819 }, - { "GdipSetPenDashCap197819", cast(void**)& GdipSetPenDashCap197819 }, - { "GdipGetPenLineJoin", cast(void**)& GdipGetPenLineJoin }, - { "GdipSetPenLineJoin", cast(void**)& GdipSetPenLineJoin }, - { "GdipGetPenMiterLimit", cast(void**)& GdipGetPenMiterLimit }, - { "GdipSetPenMiterLimit", cast(void**)& GdipSetPenMiterLimit }, - { "GdipGetPenMode", cast(void**)& GdipGetPenMode }, - { "GdipSetPenMode", cast(void**)& GdipSetPenMode }, - { "GdipGetPenTransform", cast(void**)& GdipGetPenTransform }, - { "GdipSetPenTransform", cast(void**)& GdipSetPenTransform }, - { "GdipResetPenTransform", cast(void**)& GdipResetPenTransform }, - { "GdipMultiplyPenTransform", cast(void**)& GdipMultiplyPenTransform }, - { "GdipTranslatePenTransform", cast(void**)& GdipTranslatePenTransform }, - { "GdipScalePenTransform", cast(void**)& GdipScalePenTransform }, - { "GdipRotatePenTransform", cast(void**)& GdipRotatePenTransform }, - { "GdipGetPenColor", cast(void**)& GdipGetPenColor }, - { "GdipSetPenColor", cast(void**)& GdipSetPenColor }, - { "GdipGetPenWidth", cast(void**)& GdipGetPenWidth }, - { "GdipSetPenWidth", cast(void**)& GdipSetPenWidth }, - { "GdipGetPenFillType", cast(void**)& GdipGetPenFillType }, - { "GdipGetPenBrushFill", cast(void**)& GdipGetPenBrushFill }, - { "GdipSetPenBrushFill", cast(void**)& GdipSetPenBrushFill }, - { "GdipGetPenDashStyle", cast(void**)& GdipGetPenDashStyle }, - { "GdipSetPenDashStyle", cast(void**)& GdipSetPenDashStyle }, - { "GdipGetPenDashOffset", cast(void**)& GdipGetPenDashOffset }, - { "GdipSetPenDashOffset", cast(void**)& GdipSetPenDashOffset }, - { "GdipGetPenDashCount", cast(void**)& GdipGetPenDashCount }, - { "GdipGetPenDashArray", cast(void**)& GdipGetPenDashArray }, - { "GdipSetPenDashArray", cast(void**)& GdipSetPenDashArray }, - { "GdipGetPenCompoundCount", cast(void**)& GdipGetPenCompoundCount }, - { "GdipGetPenCompoundArray", cast(void**)& GdipGetPenCompoundArray }, - { "GdipSetPenCompoundArray", cast(void**)& GdipSetPenCompoundArray }, - { "GdipCreateRegion", cast(void**)& GdipCreateRegion }, - { "GdipCreateRegionRect", cast(void**)& GdipCreateRegionRect }, - { "GdipCreateRegionRectI", cast(void**)& GdipCreateRegionRectI }, - { "GdipCreateRegionPath", cast(void**)& GdipCreateRegionPath }, - { "GdipCreateRegionHrgn", cast(void**)& GdipCreateRegionHrgn }, - { "GdipDeleteRegion", cast(void**)& GdipDeleteRegion }, - { "GdipSetInfinite", cast(void**)& GdipSetInfinite }, - { "GdipSetEmpty", cast(void**)& GdipSetEmpty }, - { "GdipCombineRegionRect", cast(void**)& GdipCombineRegionRect }, - { "GdipCombineRegionRectI", cast(void**)& GdipCombineRegionRectI }, - { "GdipCombineRegionPath", cast(void**)& GdipCombineRegionPath }, - { "GdipCombineRegionRegion", cast(void**)& GdipCombineRegionRegion }, - { "GdipTranslateRegion", cast(void**)& GdipTranslateRegion }, - { "GdipTranslateRegionI", cast(void**)& GdipTranslateRegionI }, - { "GdipTransformRegion", cast(void**)& GdipTransformRegion }, - { "GdipGetRegionBounds", cast(void**)& GdipGetRegionBounds }, - { "GdipGetRegionHRgn", cast(void**)& GdipGetRegionHRgn }, - { "GdipIsEmptyRegion", cast(void**)& GdipIsEmptyRegion }, - { "GdipIsInfiniteRegion", cast(void**)& GdipIsInfiniteRegion }, - { "GdipIsEqualRegion", cast(void**)& GdipIsEqualRegion }, - { "GdipIsVisibleRegionPoint", cast(void**)& GdipIsVisibleRegionPoint }, - { "GdipIsVisibleRegionRect", cast(void**)& GdipIsVisibleRegionRect }, - { "GdipIsVisibleRegionPointI", cast(void**)& GdipIsVisibleRegionPointI }, - { "GdipIsVisibleRegionRectI", cast(void**)& GdipIsVisibleRegionRectI }, - { "GdipGetRegionScansCount", cast(void**)& GdipGetRegionScansCount }, - { "GdipGetRegionScans", cast(void**)& GdipGetRegionScans }, - { "GdipDisposeImage", cast(void**)& GdipDisposeImage }, - { "GdipImageForceValidation", cast(void**)& GdipImageForceValidation }, - { "GdipLoadImageFromFileICM", cast(void**)& GdipLoadImageFromFileICM }, - { "GdipLoadImageFromFile", cast(void**)& GdipLoadImageFromFile }, - { "GdipGetImageEncodersSize", cast(void**)& GdipGetImageEncodersSize }, - { "GdipCloneImage", cast(void**)& GdipCloneImage }, - { "GdipGetImageType", cast(void**)& GdipGetImageType }, - { "GdipGetImageFlags", cast(void**)& GdipGetImageFlags }, - { "GdipGetImageWidth", cast(void**)& GdipGetImageWidth }, - { "GdipGetImageHeight", cast(void**)& GdipGetImageHeight }, - { "GdipGetImageHorizontalResolution", cast(void**)& GdipGetImageHorizontalResolution }, - { "GdipGetImageVerticalResolution", cast(void**)& GdipGetImageVerticalResolution }, - { "GdipGetPropertyCount", cast(void**)& GdipGetPropertyCount }, - { "GdipGetPropertyIdList", cast(void**)& GdipGetPropertyIdList }, - { "GdipGetImagePixelFormat", cast(void**)& GdipGetImagePixelFormat }, - { "GdipGetImageDimension", cast(void**)& GdipGetImageDimension }, - { "GdipGetImageThumbnail", cast(void**)& GdipGetImageThumbnail }, - { "GdipImageGetFrameDimensionsCount", cast(void**)& GdipImageGetFrameDimensionsCount }, - { "GdipImageRotateFlip", cast(void**)& GdipImageRotateFlip }, - { "GdipGetPropertyItemSize", cast(void**)& GdipGetPropertyItemSize }, - { "GdipGetPropertyItem", cast(void**)& GdipGetPropertyItem }, - { "GdipSetPropertyItem", cast(void**)& GdipSetPropertyItem }, - { "GdipRemovePropertyItem", cast(void**)& GdipRemovePropertyItem }, - { "GdipGetPropertySize", cast(void**)& GdipGetPropertySize }, - { "GdipGetAllPropertyItems", cast(void**)& GdipGetAllPropertyItems }, - { "GdipGetImageBounds", cast(void**)& GdipGetImageBounds }, - { "GdipGetImagePaletteSize", cast(void**)& GdipGetImagePaletteSize }, - { "GdipGetImagePalette", cast(void**)& GdipGetImagePalette }, - { "GdipSetImagePalette", cast(void**)& GdipSetImagePalette }, - { "GdipCreateBitmapFromScan0", cast(void**)& GdipCreateBitmapFromScan0 }, - { "GdipCreateBitmapFromHBITMAP", cast(void**)& GdipCreateBitmapFromHBITMAP }, - { "GdipCreateBitmapFromHICON", cast(void**)& GdipCreateBitmapFromHICON }, - { "GdipCreateBitmapFromFileICM", cast(void**)& GdipCreateBitmapFromFileICM }, - { "GdipCreateBitmapFromFile", cast(void**)& GdipCreateBitmapFromFile }, - { "GdipCreateBitmapFromGraphics", cast(void**)& GdipCreateBitmapFromGraphics }, - { "GdipCloneBitmapArea", cast(void**)& GdipCloneBitmapArea }, - { "GdipCloneBitmapAreaI", cast(void**)& GdipCloneBitmapAreaI }, - { "GdipBitmapGetPixel", cast(void**)& GdipBitmapGetPixel }, - { "GdipBitmapSetPixel", cast(void**)& GdipBitmapSetPixel }, - { "GdipBitmapLockBits", cast(void**)& GdipBitmapLockBits }, - { "GdipBitmapUnlockBits", cast(void**)& GdipBitmapUnlockBits }, - { "GdipBitmapSetResolution", cast(void**)& GdipBitmapSetResolution }, - { "GdipCreateHICONFromBitmap", cast(void**)& GdipCreateHICONFromBitmap }, - { "GdipCreateHBITMAPFromBitmap", cast(void**)& GdipCreateHBITMAPFromBitmap }, - { "GdipCreateImageAttributes", cast(void**)& GdipCreateImageAttributes }, - { "GdipDisposeImageAttributes", cast(void**)& GdipDisposeImageAttributes }, - { "GdipSetImageAttributesColorMatrix", cast(void**)& GdipSetImageAttributesColorMatrix }, - { "GdipSetImageAttributesThreshold", cast(void**)& GdipSetImageAttributesThreshold }, - { "GdipSetImageAttributesGamma", cast(void**)& GdipSetImageAttributesGamma }, - { "GdipSetImageAttributesNoOp", cast(void**)& GdipSetImageAttributesNoOp }, - { "GdipSetImageAttributesColorKeys", cast(void**)& GdipSetImageAttributesColorKeys }, - { "GdipSetImageAttributesOutputChannel", cast(void**)& GdipSetImageAttributesOutputChannel }, - { "GdipSetImageAttributesOutputChannelColorProfile", cast(void**)& GdipSetImageAttributesOutputChannelColorProfile }, - { "GdipSetImageAttributesWrapMode", cast(void**)& GdipSetImageAttributesWrapMode }, - { "GdipNewInstalledFontCollection", cast(void**)& GdipNewInstalledFontCollection }, - { "GdipNewPrivateFontCollection", cast(void**)& GdipNewPrivateFontCollection }, - { "GdipDeletePrivateFontCollection", cast(void**)& GdipDeletePrivateFontCollection }, - { "GdipPrivateAddFontFile", cast(void**)& GdipPrivateAddFontFile }, - { "GdipPrivateAddMemoryFont", cast(void**)& GdipPrivateAddMemoryFont }, - { "GdipGetFontCollectionFamilyCount", cast(void**)& GdipGetFontCollectionFamilyCount }, - { "GdipGetFontCollectionFamilyList", cast(void**)& GdipGetFontCollectionFamilyList }, - { "GdipCreateFontFamilyFromName", cast(void**)& GdipCreateFontFamilyFromName }, - { "GdipDeleteFontFamily", cast(void**)& GdipDeleteFontFamily }, - { "GdipCloneFontFamily", cast(void**)& GdipCloneFontFamily }, - { "GdipGetFamilyName", cast(void**)& GdipGetFamilyName }, - { "GdipGetGenericFontFamilyMonospace", cast(void**)& GdipGetGenericFontFamilyMonospace }, - { "GdipGetGenericFontFamilySerif", cast(void**)& GdipGetGenericFontFamilySerif }, - { "GdipGetGenericFontFamilySansSerif", cast(void**)& GdipGetGenericFontFamilySansSerif }, - { "GdipGetEmHeight", cast(void**)& GdipGetEmHeight }, - { "GdipGetCellAscent", cast(void**)& GdipGetCellAscent }, - { "GdipGetCellDescent", cast(void**)& GdipGetCellDescent }, - { "GdipGetLineSpacing", cast(void**)& GdipGetLineSpacing }, - { "GdipIsStyleAvailable", cast(void**)& GdipIsStyleAvailable }, - { "GdipCreateFont", cast(void**)& GdipCreateFont }, - { "GdipCreateFontFromDC", cast(void**)& GdipCreateFontFromDC }, - { "GdipDeleteFont", cast(void**)& GdipDeleteFont }, - { "GdipCloneFont", cast(void**)& GdipCloneFont }, - { "GdipGetFontSize", cast(void**)& GdipGetFontSize }, - { "GdipGetFontHeight", cast(void**)& GdipGetFontHeight }, - { "GdipGetFontHeightGivenDPI", cast(void**)& GdipGetFontHeightGivenDPI }, - { "GdipGetFontStyle", cast(void**)& GdipGetFontStyle }, - { "GdipGetFontUnit", cast(void**)& GdipGetFontUnit }, - { "GdipGetFamily", cast(void**)& GdipGetFamily }, - { "GdipCreateFontFromLogfontW", cast(void**)& GdipCreateFontFromLogfontW }, - { "GdipCreateFontFromLogfontA", cast(void**)& GdipCreateFontFromLogfontA }, - { "GdipGetLogFontW", cast(void**)& GdipGetLogFontW }, - { "GdipCreateStringFormat", cast(void**)& GdipCreateStringFormat }, - { "GdipDeleteStringFormat", cast(void**)& GdipDeleteStringFormat }, - { "GdipGetStringFormatFlags", cast(void**)& GdipGetStringFormatFlags }, - { "GdipSetStringFormatFlags", cast(void**)& GdipSetStringFormatFlags }, - { "GdipGetStringFormatAlign", cast(void**)& GdipGetStringFormatAlign }, - { "GdipSetStringFormatAlign", cast(void**)& GdipSetStringFormatAlign }, - { "GdipGetStringFormatLineAlign", cast(void**)& GdipGetStringFormatLineAlign }, - { "GdipSetStringFormatLineAlign", cast(void**)& GdipSetStringFormatLineAlign }, - { "GdipGetStringFormatTrimming", cast(void**)& GdipGetStringFormatTrimming }, - { "GdipSetStringFormatTrimming", cast(void**)& GdipSetStringFormatTrimming }, - { "GdipCreatePath", cast(void**)& GdipCreatePath }, - { "GdipCreatePath2", cast(void**)& GdipCreatePath2 }, - { "GdipCreatePath2I", cast(void**)& GdipCreatePath2I }, - { "GdipDeletePath", cast(void**)& GdipDeletePath }, - { "GdipClonePath", cast(void**)& GdipClonePath }, - { "GdipResetPath", cast(void**)& GdipResetPath }, - { "GdipGetPathFillMode", cast(void**)& GdipGetPathFillMode }, - { "GdipSetPathFillMode", cast(void**)& GdipSetPathFillMode }, - { "GdipStartPathFigure", cast(void**)& GdipStartPathFigure }, - { "GdipClosePathFigure", cast(void**)& GdipClosePathFigure }, - { "GdipClosePathFigures", cast(void**)& GdipClosePathFigures }, - { "GdipSetPathMarker", cast(void**)& GdipSetPathMarker }, - { "GdipClearPathMarkers", cast(void**)& GdipClearPathMarkers }, - { "GdipReversePath", cast(void**)& GdipReversePath }, - { "GdipGetPathLastPoint", cast(void**)& GdipGetPathLastPoint }, - { "GdipAddPathLine", cast(void**)& GdipAddPathLine }, - { "GdipAddPathLineI", cast(void**)& GdipAddPathLineI }, - { "GdipAddPathLine2", cast(void**)& GdipAddPathLine2 }, - { "GdipAddPathLine2I", cast(void**)& GdipAddPathLine2I }, - { "GdipAddPathArc", cast(void**)& GdipAddPathArc }, - { "GdipAddPathArcI", cast(void**)& GdipAddPathArcI }, - { "GdipAddPathBezier", cast(void**)& GdipAddPathBezier }, - { "GdipAddPathBezierI", cast(void**)& GdipAddPathBezierI }, - { "GdipAddPathBeziers", cast(void**)& GdipAddPathBeziers }, - { "GdipAddPathBeziersI", cast(void**)& GdipAddPathBeziersI }, - { "GdipAddPathCurve", cast(void**)& GdipAddPathCurve }, - { "GdipAddPathCurveI", cast(void**)& GdipAddPathCurveI }, - { "GdipAddPathCurve2", cast(void**)& GdipAddPathCurve2 }, - { "GdipAddPathCurve2I", cast(void**)& GdipAddPathCurve2I }, - { "GdipAddPathCurve3", cast(void**)& GdipAddPathCurve3 }, - { "GdipAddPathCurve3I", cast(void**)& GdipAddPathCurve3I }, - { "GdipAddPathClosedCurve", cast(void**)& GdipAddPathClosedCurve }, - { "GdipAddPathClosedCurveI", cast(void**)& GdipAddPathClosedCurveI }, - { "GdipAddPathClosedCurve2", cast(void**)& GdipAddPathClosedCurve2 }, - { "GdipAddPathClosedCurve2I", cast(void**)& GdipAddPathClosedCurve2I }, - { "GdipAddPathRectangle", cast(void**)& GdipAddPathRectangle }, - { "GdipAddPathRectangleI", cast(void**)& GdipAddPathRectangleI }, - { "GdipAddPathRectangles", cast(void**)& GdipAddPathRectangles }, - { "GdipAddPathRectanglesI", cast(void**)& GdipAddPathRectanglesI }, - { "GdipAddPathEllipse", cast(void**)& GdipAddPathEllipse }, - { "GdipAddPathEllipseI", cast(void**)& GdipAddPathEllipseI }, - { "GdipAddPathPie", cast(void**)& GdipAddPathPie }, - { "GdipAddPathPieI", cast(void**)& GdipAddPathPieI }, - { "GdipAddPathPolygon", cast(void**)& GdipAddPathPolygon }, - { "GdipAddPathPolygonI", cast(void**)& GdipAddPathPolygonI }, - { "GdipAddPathPath", cast(void**)& GdipAddPathPath }, - { "GdipAddPathString", cast(void**)& GdipAddPathString }, - { "GdipAddPathStringI", cast(void**)& GdipAddPathStringI }, - { "GdipTransformPath", cast(void**)& GdipTransformPath }, - { "GdipGetPathWorldBounds", cast(void**)& GdipGetPathWorldBounds }, - { "GdipFlattenPath", cast(void**)& GdipFlattenPath }, - { "GdipWidenPath", cast(void**)& GdipWidenPath }, - { "GdipWindingModeOutline", cast(void**)& GdipWindingModeOutline }, - { "GdipWarpPath", cast(void**)& GdipWarpPath }, - { "GdipGetPointCount", cast(void**)& GdipGetPointCount }, - { "GdipGetPathTypes", cast(void**)& GdipGetPathTypes }, - { "GdipGetPathPoints", cast(void**)& GdipGetPathPoints }, - { "GdipIsVisiblePathPoint", cast(void**)& GdipIsVisiblePathPoint }, - { "GdipIsVisiblePathPointI", cast(void**)& GdipIsVisiblePathPointI }, - { "GdipIsOutlineVisiblePathPoint", cast(void**)& GdipIsOutlineVisiblePathPoint }, - { "GdipIsOutlineVisiblePathPointI", cast(void**)& GdipIsOutlineVisiblePathPointI }, - { "GdipDrawPath", cast(void**)& GdipDrawPath }, - { "GdipCreatePathIter", cast(void**)& GdipCreatePathIter }, - { "GdipDeletePathIter", cast(void**)& GdipDeletePathIter }, - { "GdipPathIterNextSubpath", cast(void**)& GdipPathIterNextSubpath }, - { "GdipPathIterNextSubpathPath", cast(void**)& GdipPathIterNextSubpathPath }, - { "GdipPathIterNextPathType", cast(void**)& GdipPathIterNextPathType }, - { "GdipPathIterNextMarker", cast(void**)& GdipPathIterNextMarker }, - { "GdipPathIterNextMarkerPath", cast(void**)& GdipPathIterNextMarkerPath }, - { "GdipPathIterGetCount", cast(void**)& GdipPathIterGetCount }, - { "GdipPathIterGetSubpathCount", cast(void**)& GdipPathIterGetSubpathCount }, - { "GdipPathIterHasCurve", cast(void**)& GdipPathIterHasCurve }, - { "GdipPathIterRewind", cast(void**)& GdipPathIterRewind }, - { "GdipPathIterEnumerate", cast(void**)& GdipPathIterEnumerate }, - { "GdipPathIterCopyData", cast(void**)& GdipPathIterCopyData }, - { "GdipCreatePathGradient", cast(void**)& GdipCreatePathGradient }, - { "GdipCreatePathGradientI", cast(void**)& GdipCreatePathGradientI }, - { "GdipCreatePathGradientFromPath", cast(void**)& GdipCreatePathGradientFromPath }, - { "GdipGetPathGradientCenterColor", cast(void**)& GdipGetPathGradientCenterColor }, - { "GdipSetPathGradientCenterColor", cast(void**)& GdipSetPathGradientCenterColor }, - { "GdipGetPathGradientSurroundColorCount", cast(void**)& GdipGetPathGradientSurroundColorCount }, - { "GdipGetPathGradientSurroundColorsWithCount", cast(void**)& GdipGetPathGradientSurroundColorsWithCount }, - { "GdipSetPathGradientSurroundColorsWithCount", cast(void**)& GdipSetPathGradientSurroundColorsWithCount }, - { "GdipGetPathGradientCenterPoint", cast(void**)& GdipGetPathGradientCenterPoint }, - { "GdipSetPathGradientCenterPoint", cast(void**)& GdipSetPathGradientCenterPoint }, - { "GdipGetPathGradientRect", cast(void**)& GdipGetPathGradientRect }, - { "GdipGetPathGradientBlendCount", cast(void**)& GdipGetPathGradientBlendCount }, - { "GdipGetPathGradientBlend", cast(void**)& GdipGetPathGradientBlend }, - { "GdipSetPathGradientBlend", cast(void**)& GdipSetPathGradientBlend }, - { "GdipGetPathGradientPresetBlendCount", cast(void**)& GdipGetPathGradientPresetBlendCount }, - { "GdipGetPathGradientPresetBlend", cast(void**)& GdipGetPathGradientPresetBlend }, - { "GdipSetPathGradientPresetBlend", cast(void**)& GdipSetPathGradientPresetBlend }, - { "GdipSetPathGradientSigmaBlend", cast(void**)& GdipSetPathGradientSigmaBlend }, - { "GdipSetPathGradientLinearBlend", cast(void**)& GdipSetPathGradientLinearBlend }, - { "GdipGetPathGradientTransform", cast(void**)& GdipGetPathGradientTransform }, - { "GdipSetPathGradientTransform", cast(void**)& GdipSetPathGradientTransform }, - { "GdipResetPathGradientTransform", cast(void**)& GdipResetPathGradientTransform }, - { "GdipMultiplyPathGradientTransform", cast(void**)& GdipMultiplyPathGradientTransform }, - { "GdipRotatePathGradientTransform", cast(void**)& GdipRotatePathGradientTransform }, - { "GdipTranslatePathGradientTransform", cast(void**)& GdipTranslatePathGradientTransform }, - { "GdipScalePathGradientTransform", cast(void**)& GdipScalePathGradientTransform }, - { "GdipGetPathGradientFocusScales", cast(void**)& GdipGetPathGradientFocusScales }, - { "GdipSetPathGradientFocusScales", cast(void**)& GdipSetPathGradientFocusScales }, - { "GdipGetPathGradientWrapMode", cast(void**)& GdipGetPathGradientWrapMode }, - { "GdipSetPathGradientWrapMode", cast(void**)& GdipSetPathGradientWrapMode }, - { "GdipResetTextureTransform", cast(void**)& GdipResetTextureTransform }, - { "GdipScaleTextureTransform", cast(void**)& GdipScaleTextureTransform }, - { "GdipTranslateTextureTransform", cast(void**)& GdipTranslateTextureTransform }, - { "GdipStringFormatGetGenericDefault", cast(void**)& GdipStringFormatGetGenericDefault }, - { "GdipStringFormatGetGenericTypographic", cast(void**)& GdipStringFormatGetGenericTypographic }, - { "GdipSetStringFormatHotkeyPrefix", cast(void**)& GdipSetStringFormatHotkeyPrefix }, - { "GdipSetStringFormatTabStops", cast(void**)& GdipSetStringFormatTabStops }, -]; - - -void loadLib_Gdip(){ - if (auto lib = SharedLib.load(`gdiplus.dll`)) { - foreach( inout s; symbols ){ - *s.symbol = lib.getSymbol( s.name.ptr ); - if( s.symbol is null ){ - Trace.formatln("gdiplus.dll: Symbol '{}' not found", s.name ); - } - } - } else { - Trace.formatln("Could not load the library gdiplus.dll"); - } -} - -} - -/****************************************************************************** - -******************************************************************************/ -/+ -private uint initToken; -private bool isShutdown; - -public int startup() { - static GdiplusStartupInput input = { 1, null, 0, 0 }; - static GdiplusStartupOutput output; - - return GdiplusStartup(initToken, input, output); -} - -public void shutdown() { - // GC.collect(); - isShutdown = true; - - GdiplusShutdown(initToken); -} -+/ +/****************************************************************************** + + module: + + Based on D version created by John Chapman for the Juno Project + see: www.dsource.org/projects/juno + + Changes and Additions for DWT: + John Reimer <terminal.node@gmail.com> + +******************************************************************************/ + +module dwt.internal.gdip.native; + +import dwt.internal.win32.WINTYPES; +import tango.sys.SharedLib : SharedLib; +import tango.util.log.Trace; + +extern(Windows): + +/****************************************************************************** + + +******************************************************************************/ + +enum DebugEventLevel { + Fatal, + Warning +} + +alias void function(DebugEventLevel level, char* message) DebugEventProc; + +alias int function(out uint token) NotificationHookProc; +alias void function(uint token) NotificationUnhookProc; + + +/****************************************************************************** + + +******************************************************************************/ + + +struct GdiplusStartupInput { + uint GdiplusVersion; + DebugEventProc DebugEventCallback; + int SuppressBackgroundThread; + int SuppressExternalCodecs; +} + +struct GdiplusStartupOutput { + NotificationHookProc NotificationHook; + NotificationUnhookProc NotificationUnhook; +} + +struct GpBitmapData { + int Width; + int Height; + int Stride; + int PixelFormat; + void* Scan0; + int Reserved; +} + +struct GpColorMatrix { + float[5][5] m; +} + +struct GpPropertyItem { + int id; + int length; + short type; + void* value; +} + +struct GpColorPalette { + int Flags; + int Count; + int[1] Entries; +} + +public struct GpRectF { + public float X; + public float Y; + public float Width; + public float Height; +} + +public struct GpRect { + public int X; + public int Y; + public int Width; + public int Height; +} +public struct GpPoint { + public int X; + public int Y; +} +public struct GpPointF { + public float X; + public float Y; +} + +alias int function(void*) GpDrawImageAbort; +alias GpDrawImageAbort GpGetThumbnailImageAbort; + +/****************************************************************************** + + +******************************************************************************/ + +enum Status { + OK, + GenericError, + InvalidParameter, + OutOfMemory, + ObjectBusy, + InsufficientBuffer, + NotImplemented, + Win32Error, + WrongState, + Aborted, + FileNotFound, + ValueOverflow, + AccessDenied, + UnknownImageFormat, + FontFamilyNotFound, + FontStyleNotFound, + NotTrueTypeFont, + UnsupportedGdiplusVersion, + GdiplusNotInitialized, + PropertyNotFound, + PropertyNotSupported +} + +/************************************************************************** + + Opaque types managed by Gdi+ + +**************************************************************************/ +typedef GpImage GpBitmap; + +// alias uint ARGB; +typedef Handle GpFontFamily; +typedef Handle GpImage; +typedef Handle GpBrush; +typedef Handle GpFont; +typedef Handle GpFontCollection; +typedef Handle GpGraphics; +typedef Handle GpGraphicsPath; +typedef Handle GpImageAttributes; +typedef Handle GpHatchBrush; +typedef Handle GpLinearGradientBrush; +typedef Handle GpMatrix; +typedef Handle GpPen; +typedef Handle GpRegion; +typedef Handle GpSolidBrush; +typedef Handle GpStringFormat; +typedef Handle GpTextureBrush; +typedef Handle GpPath; + +alias void* Handle; + +alias int BrushType; +alias int CombineMode; +alias int FlushIntention; +alias int MatrixOrder; +alias int GraphicsUnit; +alias int QualityMode; +alias int SmoothingMode; +alias int InterpolationMode; +alias int CompositingMode; +alias int CompositingQuality; +alias int PixelOffsetMode; +alias int PixelFormat; +alias int RotateFlipType; +alias int CoordinateSpace; +alias int WarpMode; +alias int WrapMode; +alias int FillMode; +alias int LineJoin; +alias int LineCap; +alias int DashCap; +alias int DashStyle; +alias int PenAlignment; +alias int ColorMatrixFlag; +alias int ColorAdjustType; +alias int ColorChannelFlag; +alias int ImageLockMode; +alias int ImageCodecFlags; +alias int EncoderParameterValueType; +alias int GenericFontFamilies; +alias int FontStyle; +alias int HatchStyle; +alias int StringFormatFlags; +alias int StringAlignment; +alias int StringTrimming; +alias int TextRenderingHint; +alias int PenType; +alias int LinearGradientMode; +alias int KnownColor; +alias int Unit; + +alias uint GraphicsState; + +/****************************************************************************** + + Flat GDI+ Exports (C Interface) + +******************************************************************************/ + +extern (Windows): + +version( STATIC_GDIPLUS ){ +Status GdiplusStartup( uint* token, GdiplusStartupInput* input, GdiplusStartupOutput* output); +void GdiplusShutdown(uint token); +Status GdipCreateFromHDC(Handle hdc, out Handle graphics); +Status GdipCreateFromHDC2(Handle hdc, Handle hDevice, out Handle graphics); +Status GdipCreateFromHWND(Handle hwnd, out Handle graphics); +Status GdipGetImageGraphicsContext(Handle image, out Handle graphics); +Status GdipDeleteGraphics(Handle graphics); +Status GdipGetDC(Handle graphics, out Handle hdc); +Status GdipReleaseDC(Handle graphics, Handle hdc); +Status GdipSetClipGraphics(Handle graphics, Handle srcgraphics, CombineMode combineMode); +Status GdipSetClipRectI(Handle graphics, int x, int y, int width, int height, CombineMode combineMode); +Status GdipSetClipRect(Handle graphics, float x, float y, float width, float height, CombineMode combineMode); +Status GdipSetClipPath(Handle graphics, Handle path, CombineMode combineMode); +Status GdipSetClipRegion(Handle graphics, Handle region, CombineMode combineMode); +Status GdipSetClipHrgn(Handle graphics, HRGN hRgn, CombineMode combineMode); + +Status GdipGetClip(Handle graphics, out Handle region); +Status GdipResetClip(Handle graphics); +Status GdipSaveGraphics(Handle graphics, out uint state); +Status GdipRestoreGraphics(Handle graphics, int state); +Status GdipFlush(Handle graphics, FlushIntention intention); +Status GdipScaleWorldTransform(Handle graphics, float sx, float sy, MatrixOrder order); +Status GdipRotateWorldTransform(Handle graphics, float angle, MatrixOrder order); +Status GdipTranslateWorldTransform(Handle graphics, float dx, float dy, MatrixOrder order); +Status GdipMultiplyWorldTransform(Handle graphics, Handle matrix, MatrixOrder order); +Status GdipResetWorldTransform(Handle graphics); +Status GdipBeginContainer(Handle graphics, ref GpRectF dstrect, ref GpRectF srcrect, GraphicsUnit unit, out int state); +Status GdipBeginContainerI(Handle graphics, ref GpRect dstrect, ref GpRect srcrect, GraphicsUnit unit, out int state); +Status GdipBeginContainer2(Handle graphics, out int state); +Status GdipEndContainer(Handle graphics, int state); +Status GdipGetDpiX(Handle graphics, out float dpi); +Status GdipGetDpiY(Handle graphics, out float dpi); +Status GdipGetPageUnit(Handle graphics, out GraphicsUnit unit); +Status GdipSetPageUnit(Handle graphics, GraphicsUnit unit); +Status GdipGetPageScale(Handle graphics, out float scale); +Status GdipSetPageScale(Handle graphics, float scale); +Status GdipGetWorldTransform(Handle graphics, Handle matrix); // out not necessary? +Status GdipSetWorldTransform(Handle graphics, Handle matrix); +Status GdipGetCompositingMode(Handle graphics, out CompositingMode compositingMode); +Status GdipSetCompositingMode(Handle graphics, CompositingMode compositingMode); +Status GdipGetCompositingQuality(Handle graphics, out CompositingQuality compositingQuality); +Status GdipSetCompositingQuality(Handle graphics, CompositingQuality compositingQuality); +Status GdipGetInterpolationMode(Handle graphics, out InterpolationMode interpolationMode); +Status GdipSetInterpolationMode(Handle graphics, InterpolationMode interpolationMode); +Status GdipGetSmoothingMode(Handle graphics, out SmoothingMode smoothingMode); +Status GdipSetSmoothingMode(Handle graphics, SmoothingMode smoothingMode); +Status GdipGetPixelOffsetMode(Handle graphics, out PixelOffsetMode pixelOffsetMode); +Status GdipSetPixelOffsetMode(Handle graphics, PixelOffsetMode pixelOffsetMode); +Status GdipGetTextContrast(Handle graphics, out uint textContrast); +Status GdipSetTextContrast(Handle graphics, uint textContrast); +Status GdipGraphicsClear(Handle graphics, int color); +Status GdipDrawLine(Handle graphics, Handle pen, float x1, float y1, float x2, float y2); +Status GdipDrawLines(Handle graphics, Handle pen, GpPointF* points, int count); +Status GdipDrawLineI(Handle graphics, Handle pen, int x1, int y1, int x2, int y2); +Status GdipDrawLinesI(Handle graphics, Handle pen, GpPoint* points, int count); +Status GdipDrawArc(Handle graphics, Handle pen, float x, float y, float width, float height, float startAngle, float sweepAngle); +Status GdipDrawArcI(Handle graphics, Handle pen, int x, int y, int width, int height, float startAngle, float sweepAngle); +Status GdipDrawBezier(Handle graphics, Handle pen, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4); +Status GdipDrawBeziers(Handle graphics, Handle pen, GpPointF* points, int count); +Status GdipDrawBezierI(Handle graphics, Handle pen, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); +Status GdipDrawBeziersI(Handle graphics, Handle pen, GpPoint* points, int count); +Status GdipDrawRectangle(Handle graphics, Handle pen, float x, float y, float width, float height); +Status GdipDrawRectangles(Handle graphics, Handle pen, GpRectF* rects, int count); +Status GdipDrawRectangleI(Handle graphics, Handle pen, int x, int y, int width, int height); +Status GdipDrawRectanglesI(Handle graphics, Handle pen, GpRect* rects, int count); +Status GdipDrawEllipse(Handle graphics, Handle pen, float x, float y, float width, float height); +Status GdipDrawEllipseI(Handle graphics, Handle pen, int x, int y, int width, int height); +Status GdipDrawPie(Handle graphics, Handle pen, float x, float y, float width, float height, float startAngle, float sweepAngle); +Status GdipDrawPieI(Handle graphics, Handle pen, int x, int y, int width, int height, float startAngle, float sweepAngle); +Status GdipDrawPolygon(Handle graphics, Handle pen, GpPointF* points, int count); +Status GdipDrawPolygonI(Handle graphics, Handle pen, GpPoint* points, int count); +Status GdipDrawCurve(Handle graphics, Handle pen, GpPointF* points, int count); +Status GdipDrawCurve2(Handle graphics, Handle pen, GpPointF* points, int count, float tension); +Status GdipDrawCurve3(Handle graphics, Handle pen, GpPointF* points, int count, int offset, int numberOfSegments, float tension); +Status GdipDrawCurveI(Handle graphics, Handle pen, GpPoint* points, int count); +Status GdipDrawCurve2I(Handle graphics, Handle pen, GpPoint* points, int count, float tension); +Status GdipDrawCurve3I(Handle graphics, Handle pen, GpPoint* points, int count, int offset, int numberOfSegments, float tension); +Status GdipDrawClosedCurve(Handle graphics, Handle pen, GpPointF* points, int count); +Status GdipDrawClosedCurve2(Handle graphics, Handle pen, GpPointF* points, int count, float tension); +Status GdipDrawClosedCurveI(Handle graphics, Handle pen, GpPoint* points, int count); +Status GdipDrawClosedCurve2I(Handle graphics, Handle pen, GpPoint* points, int count, float tension); +Status GdipFillRectangleI(Handle graphics, Handle brush, int x, int y, int width, int height); +Status GdipFillRectangle(Handle graphics, Handle brush, float x, float y, float width, float height); +Status GdipFillRectanglesI(Handle graphics, Handle brush, GpRect* rects, int count); +Status GdipFillRectangles(Handle graphics, Handle brush, GpRectF* rects, int count); +Status GdipFillPolygon(Handle graphics, Handle brush, GpPointF* rects, int count, FillMode fillMode); +Status GdipFillPolygonI(Handle graphics, Handle brush, GpPoint* rects, int count, FillMode fillMode); +Status GdipFillEllipse(Handle graphics, Handle brush, float x, float y, float width, float height); +Status GdipFillEllipseI(Handle graphics, Handle brush, int x, int y, int width, int height); +Status GdipFillPie(Handle graphics, Handle brush, float x, float y, float width, float height, float startAngle, float sweepAngle); +Status GdipFillPieI(Handle graphics, Handle brush, int x, int y, int width, int height, float startAngle, float sweepAngle); +Status GdipFillPath(Handle graphics, Handle brush, Handle path); +Status GdipFillClosedCurve(Handle graphics, Handle brush, GpPointF* points, int count); +Status GdipFillClosedCurveI(Handle graphics, Handle brush, GpPoint* points, int count); +Status GdipFillClosedCurve2(Handle graphics, Handle brush, GpPointF* points, int count, FillMode fillMode, float tension); +Status GdipFillClosedCurve2I(Handle graphics, Handle brush, GpPoint* points, int count, FillMode fillMode, float tension); +Status GdipFillRegion(Handle graphics, Handle brush, Handle region); +Status GdipDrawString(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, Handle brush); +Status GdipMeasureString(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, ref GpRectF boundingBox, int* codepointsFitted, int* linesFitted); +Status GdipGetStringFormatMeasurableCharacterRangeCount(Handle format, out int count); +Status GdipCloneStringFormat(Handle format, out Handle newFormat); + +Status GdipMeasureCharacterRanges(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, int regionCount, Handle* regions); +Status GdipDrawImage(Handle graphics, Handle image, float x, float y); +Status GdipDrawImageI(Handle graphics, Handle image, int x, int y); +Status GdipDrawImageRect(Handle graphics, Handle image, float x, float y, float width, float height); +Status GdipDrawImageRectI(Handle graphics, Handle image, int x, int y, int width, int height); +Status GdipDrawImagePointRect(Handle graphics, Handle image, float x, float y, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit); +Status GdipDrawImagePointRectI(Handle graphics, Handle image, int x, int y, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit); +Status GdipDrawImageRectRect(Handle graphics, Handle image, float dstx, float dsty, float dstwidth, float dstheight, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData); +Status GdipDrawImageRectRectI(Handle graphics, Handle image, int dstx, int dsty, int dstwidth, int dstheight, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData); +Status GdipDrawImagePoints(Handle graphics, Handle image, GpPointF* dstpoints, int count); +Status GdipDrawImagePointsI(Handle graphics, Handle image, GpPoint* dstpoints, int count); +Status GdipDrawImagePointsRect(Handle graphics, Handle image, GpPointF* dstpoints, int count, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData); +Status GdipDrawImagePointsRectI(Handle graphics, Handle image, GpPoint* dstpoints, int count, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData); +Status GdipIsVisiblePoint(Handle graphics, float x, float y, out int result); +Status GdipIsVisiblePointI(Handle graphics, int x, int y, out int result); +Status GdipIsVisibleRect(Handle graphics, float x, float y, float width, float height, out int result); +Status GdipIsVisibleRectI(Handle graphics, int x, int y, int width, int height, out int result); +Status GdipGetTextRenderingHint(Handle graphics, out TextRenderingHint mode); +Status GdipSetTextRenderingHint(Handle graphics, TextRenderingHint mode); +Status GdipGetClipBounds(Handle graphics, out GpRectF rect); +Status GdipGetClipBoundsI(Handle graphics, out GpRect rect); +Status GdipGetVisibleClipBounds(Handle graphics, out GpRectF rect); +Status GdipGetVisibleClipBoundsI(Handle graphics, out GpRect rect); +Status GdipIsClipEmpty(Handle graphics, out int result); +Status GdipIsVisibleClipEmpty(Handle graphics, out int result); +Status GdipGetRenderingOrigin(Handle graphics, out int x, out int y); +Status GdipSetRenderingOrigin(Handle graphics, int x, int y); +Status GdipGetNearestColor(Handle graphics, ref int argb); +Status GdipComment(Handle graphics, uint sizeData, ubyte* data); +Status GdipTransformPoints(Handle graphics, CoordinateSpace destSpace, CoordinateSpace srcSpace, GpPointF* points, int count); +Status GdipTransformPointsI(Handle graphics, CoordinateSpace destSpace, CoordinateSpace srcSpace, GpPoint* points, int count); + +Status GdipCreateMatrix(out Handle matrix); +Status GdipCreateMatrix2(float m11, float m12, float m21, float m22, float dx, float dy, out Handle matrix); +Status GdipCreateMatrix3(ref GpRectF rect, GpPointF* dstplg, out Handle matrix); +Status GdipCreateMatrix3I(ref GpRect rect, GpPoint* dstplg, out Handle matrix); +Status GdipDeleteMatrix(Handle matrix); +Status GdipCloneMatrix(Handle matrix, out Handle cloneMatrix); +Status GdipGetMatrixElements(Handle matrix, float* matrixOut); +Status GdipSetMatrixElements(Handle matrix, float m11, float m12, float m21, float m22, float xy, float dy); +Status GdipInvertMatrix(Handle matrix); +Status GdipMultiplyMatrix(Handle matrix, Handle matrix2, MatrixOrder order); +Status GdipScaleMatrix(Handle matrix, float scaleX, float scaleY, MatrixOrder order); +Status GdipShearMatrix(Handle matrix, float shearX, float shearY, MatrixOrder order); +Status GdipRotateMatrix(Handle matrix, float angle, MatrixOrder order); +Status GdipTranslateMatrix(Handle matrix, float offsetX, float offsetY, MatrixOrder order); +Status GdipIsMatrixIdentity(Handle matrix, out int result); +Status GdipIsMatrixInvertible(Handle matrix, out int result); +Status GdipTransformMatrixPoints(Handle matrix, GpPointF *pts, int count); + +Status GdipGetBrushType(Handle brush, out BrushType type ); +Status GdipCloneBrush(Handle brush, out Handle cloneBrush); +Status GdipDeleteBrush(Handle brush); + +Status GdipCreateSolidFill(int color, out Handle brush); +Status GdipGetSolidFillColor(Handle brush, out int color); +Status GdipSetSolidFillColor(Handle brush, int color); + +Status GdipCreateTexture(Handle image, WrapMode wrapMode, out Handle texture); +Status GdipCreateTexture2(Handle image, WrapMode wrapMode, float x, float y, float width, float height, out Handle texture); +Status GdipCreateTexture2I(Handle image, WrapMode wrapMode, int x, int y, int width, int height, out Handle texture); +Status GdipGetTextureImage(Handle brush, out Handle image); +Status GdipGetTextureTransform(Handle brush, out Handle matrix); +Status GdipSetTextureTransform(Handle brush, Handle matrix); +Status GdipGetTextureWrapMode(Handle brush, out WrapMode wrapmode); +Status GdipSetTextureWrapMode(Handle brush, WrapMode wrapmode); + +Status GdipCreateHatchBrush(HatchStyle hatchstyle, int forecol, int backcol, out Handle brush); +Status GdipGetHatchStyle(Handle brush, out HatchStyle hatchstyle); +Status GdipGetHatchForegroundColor(Handle brush, out int forecol); +Status GdipGetHatchBackgroundColor(Handle brush, out int backcol); + +Status GdipCreateLineBrushI(ref GpPoint point1, ref GpPoint point2, int color1, int color2, WrapMode wrapMode, out Handle lineGradient); +Status GdipCreateLineBrush(ref GpPointF point1, ref GpPointF point2, int color1, int color2, WrapMode wrapMode, out Handle lineGradient); +Status GdipCreateLineBrushFromRectI(ref GpRect rect, int color1, int color2, LinearGradientMode mode, WrapMode wrapMode, out Handle lineGradient); +Status GdipCreateLineBrushFromRect(ref GpRectF rect, int color1, int color2, LinearGradientMode mode, WrapMode wrapMode, out Handle lineGradient); +Status GdipCreateLineBrushFromRectWithAngleI(ref GpRect rect, int color1, int color2, float angle, int isAngleScalable, WrapMode wrapMode, out Handle lineGradient); +Status GdipCreateLineBrushFromRectWithAngle(ref GpRectF rect, int color1, int color2, float angle, int isAngleScalable, WrapMode wrapMode, out Handle lineGradient); +Status GdipGetLineBlendCount(Handle brush, out int count); +Status GdipGetLineBlend(Handle brush, float* blend, float* positions, int count); +Status GdipSetLineBlend(Handle brush, float* blend, float* positions, int count); +Status GdipGetLinePresetBlendCount(Handle brush, out int count); +Status GdipGetLinePresetBlend(Handle brush, uint* blend, float* positions, int count); +Status GdipSetLinePresetBlend(Handle brush, uint* blend, float* positions, int count); +Status GdipGetLineWrapMode(Handle brush, out WrapMode wrapmode); +Status GdipSetLineWrapMode(Handle brush, WrapMode wrapmode); +Status GdipGetLineRect(Handle brush, out GpRectF rect); +Status GdipGetLineColors(Handle brush, int* colors); +Status GdipSetLineColors(Handle brush, int color1, int color2); +Status GdipGetLineGammaCorrection(Handle brush, out int useGammaCorrection); +Status GdipSetLineGammaCorrection(Handle brush, int useGammaCorrection); +Status GdipSetLineSigmaBlend(Handle brush, float focus, float scale); +Status GdipSetLineLinearBlend(Handle brush, float focus, float scale); +Status GdipGetLineTransform(Handle brush, out Handle matrix); +Status GdipSetLineTransform(Handle brush, Handle matrix); +Status GdipResetLineTransform(Handle brush); +Status GdipMultiplyLineTransform(Handle brush, Handle matrix, MatrixOrder order); +Status GdipTranslateLineTransform(Handle brush, float dx, float dy, MatrixOrder order); +Status GdipScaleLineTransform(Handle brush, float sx, float sy, MatrixOrder order); +Status GdipRotateLineTransform(Handle brush, float angle, MatrixOrder order); + +Status GdipCreatePen1(int argb, float width, GraphicsUnit unit, out Handle pen); +Status GdipCreatePen2(Handle brush, float width, GraphicsUnit unit, out Handle pen); +Status GdipDeletePen(Handle pen); +Status GdipClonePen(Handle pen, out Handle clonepen); +Status GdipSetPenLineCap197819(Handle pen, LineCap startCap, LineCap endCap, DashCap dashCap); +Status GdipGetPenStartCap(Handle pen, out LineCap startCap); +Status GdipSetPenStartCap(Handle pen, LineCap startCap); +Status GdipGetPenEndCap(Handle pen, out LineCap endCap); +Status GdipSetPenEndCap(Handle pen, LineCap endCap); +Status GdipGetPenDashCap197819(Handle pen, out DashCap endCap); +Status GdipSetPenDashCap197819(Handle pen, DashCap endCap); +Status GdipGetPenLineJoin(Handle pen, out LineJoin lineJoin); +Status GdipSetPenLineJoin(Handle pen, LineJoin lineJoin); +Status GdipGetPenMiterLimit(Handle pen, out float miterLimit); +Status GdipSetPenMiterLimit(Handle pen, float miterLimit); +Status GdipGetPenMode(Handle pen, out PenAlignment penMode); +Status GdipSetPenMode(Handle pen, PenAlignment penMode); +Status GdipGetPenTransform(Handle pen, out Handle matrix); +Status GdipSetPenTransform(Handle pen, Handle matrix); +Status GdipResetPenTransform(Handle pen); +Status GdipMultiplyPenTransform(Handle pen, Handle matrix, MatrixOrder order); +Status GdipTranslatePenTransform(Handle pen, float dx, float dy, MatrixOrder order); +Status GdipScalePenTransform(Handle pen, float sx, float sy, MatrixOrder order); +Status GdipRotatePenTransform(Handle pen, float angle, MatrixOrder order); +Status GdipGetPenColor(Handle pen, out int argb); +Status GdipSetPenColor(Handle pen, int argb); +Status GdipGetPenWidth(Handle pen, out float width); +Status GdipSetPenWidth(Handle pen, float width); +Status GdipGetPenFillType(Handle pen, out PenType type); +Status GdipGetPenBrushFill(Handle pen, out Handle brush); +Status GdipSetPenBrushFill(Handle pen, Handle brush); +Status GdipGetPenDashStyle(Handle pen, out DashStyle dashstyle); +Status GdipSetPenDashStyle(Handle pen, DashStyle dashstyle); +Status GdipGetPenDashOffset(Handle pen, out float offset); +Status GdipSetPenDashOffset(Handle pen, float offset); +Status GdipGetPenDashCount(Handle pen, out int count); +Status GdipGetPenDashArray(Handle pen, float* dash, int count); +Status GdipSetPenDashArray(Handle pen, float* dash, int count); +Status GdipGetPenCompoundCount(Handle pen, out int count); +Status GdipGetPenCompoundArray(Handle pen, float* dash, int count); +Status GdipSetPenCompoundArray(Handle pen, float* dash, int count); + +Status GdipCreateRegion(out Handle region); +Status GdipCreateRegionRect(ref GpRectF rect, out Handle region); +Status GdipCreateRegionRectI(ref GpRect rect, out Handle region); +Status GdipCreateRegionPath(Handle path, out Handle region); +Status GdipCreateRegionHrgn(Handle hRgn, out Handle region); +Status GdipDeleteRegion(Handle region); +Status GdipSetInfinite(Handle region); +Status GdipSetEmpty(Handle region); +Status GdipCombineRegionRect(Handle region, ref GpRectF rect, CombineMode combineMode); +Status GdipCombineRegionRectI(Handle region, ref GpRect rect, CombineMode combineMode); +Status GdipCombineRegionPath(Handle region, Handle path, CombineMode combineMode); +Status GdipCombineRegionRegion(Handle region, Handle region, CombineMode combineMode); +Status GdipTranslateRegion(Handle region, float dx, float dy); +Status GdipTranslateRegionI(Handle region, int dx, int dy); +Status GdipTransformRegion(Handle region, Handle matrix); +Status GdipGetRegionBounds(Handle region, Handle graphics, out GpRectF rect); +Status GdipGetRegionHRgn(Handle region, Handle graphics, out Handle hRgn); +Status GdipIsEmptyRegion(Handle region, Handle graphics, out int result); +Status GdipIsInfiniteRegion(Handle region, Handle graphics, out int result); +Status GdipIsEqualRegion(Handle region1, Handle region2, Handle graphics, out int result); +Status GdipIsVisibleRegionPoint(Handle region, float x, float y, Handle graphics, out int result); +Status GdipIsVisibleRegionRect(Handle region, float x, float y, float width, float height, Handle graphics, out int result); +Status GdipIsVisibleRegionPointI(Handle region, int x, int y, Handle graphics, out int result); +Status GdipIsVisibleRegionRectI(Handle region, int x, int y, int width, int height, Handle graphics, out int result); +Status GdipGetRegionScansCount(Handle region, out int count, Handle matrix); +Status GdipGetRegionScans(Handle region, GpRectF* rects, out int count, Handle matrix); + +Status GdipDisposeImage(Handle image); +Status GdipImageForceValidation(Handle image); +Status GdipLoadImageFromFileICM(wchar* filename, out Handle image); +Status GdipLoadImageFromFile(wchar* filename, out Handle image); +// Status GdipLoadImageFromStreamICM(IStream stream, out Handle image); +// Status GdipLoadImageFromStream(IStream stream, out Handle image); +// Status GdipGetImageRawFormat(Handle image, out GUID format); +Status GdipGetImageEncodersSize(out int numEncoders, out int size); +// Status GdipGetImageEncoders(int numEncoders, int size, GpImageCodecInfo* encoders); +// Status GdipSaveImageToFile(Handle image, wchar* filename, ref GUID clsidEncoder, GpEncoderParameters* encoderParams); +// Status GdipSaveImageToStream(Handle image, IStream stream, ref GUID clsidEncoder, GpEncoderParameters* encoderParams); +// Status GdipSaveAdd(Handle image, GpEncoderParameters* encoderParams); +// Status GdipSaveAddImage(Handle image, Handle newImage, GpEncoderParameters* encoderParams); +Status GdipCloneImage(Handle image, out Handle cloneImage); +Status GdipGetImageType(Handle image, out int type); +Status GdipGetImageFlags(Handle image, out uint flags); +Status GdipGetImageWidth(Handle image, out uint width); +Status GdipGetImageHeight(Handle image, out uint height); +Status GdipGetImageHorizontalResolution(Handle image, out float resolution); +Status GdipGetImageVerticalResolution(Handle image, out float resolution); +Status GdipGetPropertyCount(Handle image, out int numOfProperty); +Status GdipGetPropertyIdList(Handle image, int numOfProperty, int* list); +Status GdipGetImagePixelFormat(Handle image, out PixelFormat format); +Status GdipGetImageDimension(Handle image, out float width, out float height); +Status GdipGetImageThumbnail(Handle image, int thumbWidth, int thumbHeight, out Handle thumbImage, GpGetThumbnailImageAbort callback, void* callbackData); +// Status GdipImageGetFrameCount(Handle image, ref GUID dimensionID, out int count); +// Status GdipImageSelectActiveFrame(Handle image, ref GUID dimensionID, int frameCount); +Status GdipImageGetFrameDimensionsCount(Handle image, out int count); +// Status GdipImageGetFrameDimensionsList(Handle image, GUID* dimensionIDs, int count); +Status GdipImageRotateFlip(Handle image, RotateFlipType rotateFlipType); +Status GdipGetPropertyItemSize(Handle image, int propId, out uint propSize); +Status GdipGetPropertyItem(Handle image, int propId, uint propSize, GpPropertyItem* buffer); +Status GdipSetPropertyItem(Handle image, ref GpPropertyItem buffer); +Status GdipRemovePropertyItem(Handle image, int propId); +Status GdipGetPropertySize(Handle image, out uint totalBufferSize, ref int numProperties); +Status GdipGetAllPropertyItems(Handle image, uint totalBufferSize, int numProperties, GpPropertyItem* allItems); +Status GdipGetImageBounds(Handle image, out GpRectF srcRect, out GraphicsUnit srcUnit); +// Status GdipGetEncoderParameterListSize(Handle image, ref GUID clsidEncoder, out uint size); +// Status GdipGetEncoderParameterList(Handle image, ref GUID clsidEncoder, uint size, GpEncoderParameters* buffer); +Status GdipGetImagePaletteSize(Handle image, out int size); +Status GdipGetImagePalette(Handle image, GpColorPalette* palette, int size); +Status GdipSetImagePalette(Handle image, GpColorPalette* palette); + +Status GdipCreateBitmapFromScan0(int width, int height, int stride, PixelFormat format, ubyte* scan0, out Handle bitmap); +Status GdipCreateBitmapFromHBITMAP(Handle hbitmap, Handle hpalette, out Handle bitmap); +Status GdipCreateBitmapFromHICON(Handle hicon, out Handle bitmap); +Status GdipCreateBitmapFromFileICM(wchar* fileName, out Handle bitmap); +Status GdipCreateBitmapFromFile(wchar* fileName, out Handle bitmap); +// Status GdipCreateBitmapFromStreamICM(IStream stream, out Handle bitmap); +// Status GdipCreateBitmapFromStream(IStream stream, out Handle bitmap); +Status GdipCreateBitmapFromGraphics(int width, int height, Handle graphics, out Handle bitmap); +Status GdipCloneBitmapArea(float x, float y, float width, float height, PixelFormat format, Handle srcbitmap, out Handle dstbitmap); +Status GdipCloneBitmapAreaI(int x, int y, int width, int height, PixelFormat format, Handle srcbitmap, out Handle dstbitmap); +Status GdipBitmapGetPixel(Handle bitmap, int x, int y, out int color); +Status GdipBitmapSetPixel(Handle bitmap, int x, int y, int color); +Status GdipBitmapLockBits(Handle bitmap, GpRect* rect, ImageLockMode flags, PixelFormat format, GpBitmapData* lockedBitmapData); +Status GdipBitmapUnlockBits(Handle bitmap, GpBitmapData* lockedBitmapData); +Status GdipBitmapSetResolution(Handle bitmap, float xdpi, float ydpi); +Status GdipCreateHICONFromBitmap(Handle bitmap, out Handle hbmReturn); +Status GdipCreateHBITMAPFromBitmap(Handle bitmap, out Handle hbmReturn, int background); + +Status GdipCreateImageAttributes(out Handle imageattr); +Status GdipDisposeImageAttributes(Handle imageattr); +Status GdipSetImageAttributesColorMatrix(Handle imageattr, ColorAdjustType type, int enableFlag, GpColorMatrix* colorMatrix, GpColorMatrix* grayMatrix, ColorMatrixFlag flags); +Status GdipSetImageAttributesThreshold(Handle imageattr, ColorAdjustType type, int enableFlag, float threshold); +Status GdipSetImageAttributesGamma(Handle imageattr, ColorAdjustType type, int enableFlag, float gamma); +Status GdipSetImageAttributesNoOp(Handle imageattr, ColorAdjustType type, int enableFlag); +Status GdipSetImageAttributesColorKeys(Handle imageattr, ColorAdjustType type, int enableFlag, int colorLow, int colorHigh); +Status GdipSetImageAttributesOutputChannel(Handle imageattr, ColorAdjustType type, int enableFlag, ColorChannelFlag flags); +Status GdipSetImageAttributesOutputChannelColorProfile(Handle imageattr, ColorAdjustType type, int enableFlag, wchar* colorProfileFilename); +Status GdipSetImageAttributesWrapMode(Handle imageattr, WrapMode wrap, int argb, int clamp); + +Status GdipNewInstalledFontCollection(out Handle fontCollection); +Status GdipNewPrivateFontCollection(out Handle fontCollection); +Status GdipDeletePrivateFontCollection(Handle fontCollection); +Status GdipPrivateAddFontFile(Handle fontCollection, wchar* filename); +Status GdipPrivateAddMemoryFont(Handle fontCollection, void* memory, int length); +Status GdipGetFontCollectionFamilyCount(Handle fontCollection, out int numFound); +Status GdipGetFontCollectionFamilyList(Handle fontCollection, int numSought, Handle* gpfamilies, out int numFound); + +Status GdipCreateFontFamilyFromName(wchar* name, Handle fontCollection, out Handle FontFamily); +Status GdipDeleteFontFamily(Handle FontFamily); +Status GdipCloneFontFamily(Handle FontFamily, out Handle clonedFontFamily); +Status GdipGetFamilyName(Handle family, wchar* name, int language); +Status GdipGetGenericFontFamilyMonospace(out Handle nativeFamily); +Status GdipGetGenericFontFamilySerif(out Handle nativeFamily); +Status GdipGetGenericFontFamilySansSerif(out Handle nativeFamily); +Status GdipGetEmHeight(Handle family, FontStyle style, out short EmHeight); +Status GdipGetCellAscent(Handle family, FontStyle style, out short CellAscent); +Status GdipGetCellDescent(Handle family, FontStyle style, out short CellDescent); +Status GdipGetLineSpacing(Handle family, FontStyle style, out short LineSpacing); +Status GdipIsStyleAvailable(Handle family, FontStyle style, out int IsStyleAvailable); + +Status GdipCreateFont(Handle fontFamily, float emSize, int style, int unit, out Handle font); +Status GdipCreateFontFromDC(Handle hdc, out Handle font); +Status GdipDeleteFont(Handle font); +Status GdipCloneFont(Handle font, out Handle cloneFont); +Status GdipGetFontSize(Handle font, out float size); +Status GdipGetFontHeight(Handle font, Handle graphics, out float height); +Status GdipGetFontHeightGivenDPI(Handle font, float dpi, out float height); +Status GdipGetFontStyle(Handle font, out FontStyle style); +Status GdipGetFontUnit(Handle font, out GraphicsUnit unit); +Status GdipGetFamily(Handle font, out Handle family); +Status GdipCreateFontFromLogfontW( Handle hdc, ref LOGFONTW logfont, out Handle font); +Status GdipCreateFontFromLogfontA( Handle hdc, ref LOGFONTA logfont, out Handle font ); + +Status GdipGetLogFontW(Handle font, Handle graphics, out LOGFONTW logfontW); +alias GdipGetLogFontW GdipGetLogFont; + +Status GdipCreateStringFormat(StringFormatFlags formatAttributes, int language, out Handle format); +Status GdipDeleteStringFormat(Handle format); +Status GdipGetStringFormatFlags(Handle format, out StringFormatFlags flags); +Status GdipSetStringFormatFlags(Handle format, StringFormatFlags flags); +Status GdipGetStringFormatAlign(Handle format, out StringAlignment alignment); +Status GdipSetStringFormatAlign(Handle format, StringAlignment alignment); +Status GdipGetStringFormatLineAlign(Handle format, out StringAlignment alignment); +Status GdipSetStringFormatLineAlign(Handle format, StringAlignment alignment); +Status GdipGetStringFormatTrimming(Handle format, out StringTrimming trimming); +Status GdipSetStringFormatTrimming(Handle format, StringTrimming trimming); + +Status GdipCreatePath(FillMode brushMode, out Handle path); +Status GdipCreatePath2(GpPointF*, ubyte*, int, FillMode, out Handle); +Status GdipCreatePath2I(GpPoint*, ubyte*, int, FillMode, out Handle); +Status GdipDeletePath(Handle path); +Status GdipClonePath(Handle path, out Handle clonepath); +Status GdipResetPath(Handle path); +Status GdipGetPathFillMode(Handle path, out FillMode fillmode); +Status GdipSetPathFillMode(Handle path, FillMode fillmode); +Status GdipStartPathFigure(Handle path); +Status GdipClosePathFigure(Handle path); +Status GdipClosePathFigures(Handle path); +Status GdipSetPathMarker(Handle path); +Status GdipClearPathMarkers(Handle path); +Status GdipReversePath(Handle path); +Status GdipGetPathLastPoint(Handle path, out GpPointF lastPoint); +Status GdipAddPathLine(Handle path, float x1, float y1, float x2, float y2); +Status GdipAddPathLineI(Handle path, int x1, int y1, int x2, int y2); +Status GdipAddPathLine2(Handle path, GpPointF* points, int count); +Status GdipAddPathLine2I(Handle path, GpPoint* points, int count); +Status GdipAddPathArc(Handle path, float x, float y, float width, float height, float startAngle, float sweepAngle); +Status GdipAddPathArcI(Handle path, int x, int y, int width, int height, float startAngle, float sweepAngle); +Status GdipAddPathBezier(Handle path, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4); +Status GdipAddPathBezierI(Handle path, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); +Status GdipAddPathBeziers(Handle path, GpPointF* points, int count); +Status GdipAddPathBeziersI(Handle path, GpPoint* points, int count); +Status GdipAddPathCurve(Handle path, GpPointF* points, int count); +Status GdipAddPathCurveI(Handle path, GpPoint* points, int count); +Status GdipAddPathCurve2(Handle path, GpPointF* points, int count, float tension); +Status GdipAddPathCurve2I(Handle path, GpPoint* points, int count, float tension); +Status GdipAddPathCurve3(Handle path, GpPointF* points, int count, int offset, int numberOfSegments, float tension); +Status GdipAddPathCurve3I(Handle path, GpPoint* points, int count, int offset, int numberOfSegments, float tension); +Status GdipAddPathClosedCurve(Handle path, GpPointF* points, int count); +Status GdipAddPathClosedCurveI(Handle path, GpPoint* points, int count); +Status GdipAddPathClosedCurve2(Handle path, GpPointF* points, int count, float tension); +Status GdipAddPathClosedCurve2I(Handle path, GpPoint* points, int count, float tension); +Status GdipAddPathRectangle(Handle path, float x, float y, float width, float height); +Status GdipAddPathRectangleI(Handle path, int x, int y, int width, int height); +Status GdipAddPathRectangles(Handle path, GpRectF* rects, int count); +Status GdipAddPathRectanglesI(Handle path, GpRect* rects, int count); +Status GdipAddPathEllipse(Handle path, float x, float y, float width, float height); +Status GdipAddPathEllipseI(Handle path, int x, int y, int width, int height); +Status GdipAddPathPie(Handle path, float x, float y, float width, float height, float startAngle, float sweepAngle); +Status GdipAddPathPieI(Handle path, int x, int y, int width, int height, float startAngle, float sweepAngle); +Status GdipAddPathPolygon(Handle path, GpPointF* points, int count); +Status GdipAddPathPolygonI(Handle path, GpPoint* points, int count); +Status GdipAddPathPath(Handle path, Handle addingPath, int connect); +Status GdipAddPathString(Handle path, wchar* string, int length, Handle family, FontStyle style, float emSize, ref GpRectF layoutRect, Handle format); +Status GdipAddPathStringI(Handle path, wchar* string, int length, Handle family, FontStyle style, float emSize, ref GpRect layoutRect, Handle format); +Status GdipTransformPath(Handle path, Handle matrix); +Status GdipGetPathWorldBounds(Handle path, out GpRectF bounds, Handle matrix, Handle pen); +Status GdipFlattenPath(Handle path, Handle matrix, float flatness); +Status GdipWidenPath(Handle path, Handle pen, Handle matrix, float flatness); +Status GdipWindingModeOutline(Handle path, Handle matrix, float flatness); +Status GdipWarpPath(Handle path, Handle matrix, GpPointF* points, int count, float srcx, float srcy, float srcwidth, float srcwidth, WarpMode warpMode, float flatness); +Status GdipGetPointCount(Handle path, out int count); +Status GdipGetPathTypes(Handle path, byte* types, int count); +Status GdipGetPathPoints(Handle path, GpPointF* points, int count); +Status GdipIsVisiblePathPoint(Handle path, float x, float y, Handle graphics, out int result); +Status GdipIsVisiblePathPointI(Handle path, int x, int y, Handle graphics, out int result); +Status GdipIsOutlineVisiblePathPoint(Handle path, float x, float y, Handle pen, Handle graphics, out int result); +Status GdipIsOutlineVisiblePathPointI(Handle path, int x, int y, Handle pen, Handle graphics, out int result); +Status GdipDrawPath(Handle graphics, Handle pen, Handle path); + + +Status GdipCreatePathIter(out Handle iterator, Handle path); +Status GdipDeletePathIter(Handle iterator); +Status GdipPathIterNextSubpath(Handle iterator, out int resultCount, out int startIndex, out int endIndex, out int isClosed); +Status GdipPathIterNextSubpathPath(Handle iterator, out int resultCount, Handle path, out int isClosed); +Status GdipPathIterNextPathType(Handle iterator, out int resultCount, out ubyte pathType, out int startIndex, out int endIndex); +Status GdipPathIterNextMarker(Handle iterator, out int resultCount, out int startIndex, out int endIndex); +Status GdipPathIterNextMarkerPath(Handle iterator, out int resultCount, Handle path); +Status GdipPathIterGetCount(Handle iterator, out int count); +Status GdipPathIterGetSubpathCount(Handle iterator, out int count); +Status GdipPathIterHasCurve(Handle iterator, out int hasCurve); +Status GdipPathIterRewind(Handle iterator); +Status GdipPathIterEnumerate(Handle iterator, out int resultCount, GpPointF* points, ubyte* types, int count); +Status GdipPathIterCopyData(Handle iterator, out int resultCount, GpPointF* points, ubyte* types, int startIndex, int endIndex); + +Status GdipCreatePathGradient(GpPointF* points, int count, WrapMode wrapMode, out Handle polyGradient); +Status GdipCreatePathGradientI(GpPoint* points, int count, WrapMode wrapMode, out Handle polyGradient); +Status GdipCreatePathGradientFromPath(Handle path, out Handle polyGradient); +Status GdipGetPathGradientCenterColor(Handle brush, out int colors); +Status GdipSetPathGradientCenterColor(Handle brush, int colors); +Status GdipGetPathGradientSurroundColorCount(Handle brush, out int count); +Status GdipGetPathGradientSurroundColorsWithCount(Handle brush, int* color, ref int count); +Status GdipSetPathGradientSurroundColorsWithCount(Handle brush, int* color, ref int count); +Status GdipGetPathGradientCenterPoint(Handle brush, ref GpPointF point); +Status GdipSetPathGradientCenterPoint(Handle brush, ref GpPointF point); +Status GdipGetPathGradientRect(Handle brush, ref GpRectF rect); +Status GdipGetPathGradientBlendCount(Handle brush, out int count); +Status GdipGetPathGradientBlend(Handle brush, float* blend, float* positions, int count); +Status GdipSetPathGradientBlend(Handle brush, float* blend, float* positions, int count); +Status GdipGetPathGradientPresetBlendCount(Handle brush, out int count); +Status GdipGetPathGradientPresetBlend(Handle brush, int* blend, float* positions, int count); +Status GdipSetPathGradientPresetBlend(Handle brush, int* blend, float* positions, int count); +Status GdipSetPathGradientSigmaBlend(Handle brush, float focus, float scale); +Status GdipSetPathGradientLinearBlend(Handle brush, float focus, float scale); +Status GdipGetPathGradientTransform(Handle brush, out Handle matrix); +Status GdipSetPathGradientTransform(Handle brush, Handle matrix); +Status GdipResetPathGradientTransform(Handle brush); +Status GdipMultiplyPathGradientTransform(Handle brush, Handle matrix, MatrixOrder order); +Status GdipRotatePathGradientTransform(Handle brush, float angle, MatrixOrder order); +Status GdipTranslatePathGradientTransform(Handle brush, float dx, float dy, MatrixOrder order); +Status GdipScalePathGradientTransform(Handle brush, float sx, float sy, MatrixOrder order); +Status GdipGetPathGradientFocusScales(Handle brush, out float xScale, out float yScale); +Status GdipSetPathGradientFocusScales(Handle brush, float xScale, float yScale); +Status GdipGetPathGradientWrapMode(Handle brush, out WrapMode wrapMode); +Status GdipSetPathGradientWrapMode(Handle brush, WrapMode wrapMode); + +//added + +Status GdipResetTextureTransform( Handle brush ); +Status GdipScaleTextureTransform( Handle brush, float sx, float sy, MatrixOrder order ); +Status GdipTranslateTextureTransform( Handle brush, float dx, float dy, MatrixOrder order); +Status GdipStringFormatGetGenericDefault(out Handle format); +Status GdipStringFormatGetGenericTypographic(out Handle format); +Status GdipSetStringFormatHotkeyPrefix(Handle format, int hotkeyPrefix); +Status GdipSetStringFormatTabStops( Handle format, float firstTabOffset, int count, float* tabStops); + +void loadLib_Gdip(){ + // do nothing in this version +} + +} +else{ // version(!STATIC_GDIPLUS) +Status function( uint* token, GdiplusStartupInput* input, GdiplusStartupOutput* output) GdiplusStartup; +void function(uint token) GdiplusShutdown; +Status function(Handle hdc, out Handle graphics) GdipCreateFromHDC; +Status function(Handle hdc, Handle hDevice, out Handle graphics) GdipCreateFromHDC2; +Status function(Handle hwnd, out Handle graphics) GdipCreateFromHWND; +Status function(Handle image, out Handle graphics) GdipGetImageGraphicsContext; +Status function(Handle graphics) GdipDeleteGraphics; +Status function(Handle graphics, out Handle hdc) GdipGetDC; +Status function(Handle graphics, Handle hdc) GdipReleaseDC; +Status function(Handle graphics, Handle srcgraphics, CombineMode combineMode) GdipSetClipGraphics; +Status function(Handle graphics, int x, int y, int width, int height, CombineMode combineMode) GdipSetClipRectI; +Status function(Handle graphics, float x, float y, float width, float height, CombineMode combineMode) GdipSetClipRect; +Status function(Handle graphics, Handle path, CombineMode combineMode) GdipSetClipPath; +Status function(Handle graphics, Handle region, CombineMode combineMode) GdipSetClipRegion; +Status function(Handle graphics, HRGN hRgn, CombineMode combineMode) GdipSetClipHrgn; +Status function(Handle graphics, out Handle region) GdipGetClip; +Status function(Handle graphics) GdipResetClip; +Status function(Handle graphics, out uint state) GdipSaveGraphics; +Status function(Handle graphics, int state) GdipRestoreGraphics; +Status function(Handle graphics, FlushIntention intention) GdipFlush; +Status function(Handle graphics, float sx, float sy, MatrixOrder order) GdipScaleWorldTransform; +Status function(Handle graphics, float angle, MatrixOrder order) GdipRotateWorldTransform; +Status function(Handle graphics, float dx, float dy, MatrixOrder order) GdipTranslateWorldTransform; +Status function(Handle graphics, Handle matrix, MatrixOrder order) GdipMultiplyWorldTransform; +Status function(Handle graphics) GdipResetWorldTransform; +Status function(Handle graphics, ref GpRectF dstrect, ref GpRectF srcrect, GraphicsUnit unit, out int state) GdipBeginContainer; +Status function(Handle graphics, ref GpRect dstrect, ref GpRect srcrect, GraphicsUnit unit, out int state) GdipBeginContainerI; +Status function(Handle graphics, out int state) GdipBeginContainer2; +Status function(Handle graphics, int state) GdipEndContainer; +Status function(Handle graphics, out float dpi) GdipGetDpiX; +Status function(Handle graphics, out float dpi) GdipGetDpiY; +Status function(Handle graphics, out GraphicsUnit unit) GdipGetPageUnit; +Status function(Handle graphics, GraphicsUnit unit) GdipSetPageUnit; +Status function(Handle graphics, out float scale) GdipGetPageScale; +Status function(Handle graphics, float scale) GdipSetPageScale; +Status function(Handle graphics, Handle matrix) GdipGetWorldTransform; +Status function(Handle graphics, Handle matrix) GdipSetWorldTransform; +Status function(Handle graphics, out CompositingMode compositingMode) GdipGetCompositingMode; +Status function(Handle graphics, CompositingMode compositingMode) GdipSetCompositingMode; +Status function(Handle graphics, out CompositingQuality compositingQuality) GdipGetCompositingQuality; +Status function(Handle graphics, CompositingQuality compositingQuality) GdipSetCompositingQuality; +Status function(Handle graphics, out InterpolationMode interpolationMode) GdipGetInterpolationMode; +Status function(Handle graphics, InterpolationMode interpolationMode) GdipSetInterpolationMode; +Status function(Handle graphics, out SmoothingMode smoothingMode) GdipGetSmoothingMode; +Status function(Handle graphics, SmoothingMode smoothingMode) GdipSetSmoothingMode; +Status function(Handle graphics, out PixelOffsetMode pixelOffsetMode) GdipGetPixelOffsetMode; +Status function(Handle graphics, PixelOffsetMode pixelOffsetMode) GdipSetPixelOffsetMode; +Status function(Handle graphics, out uint textContrast) GdipGetTextContrast; +Status function(Handle graphics, uint textContrast) GdipSetTextContrast; +Status function(Handle graphics, int color) GdipGraphicsClear; +Status function(Handle graphics, Handle pen, float x1, float y1, float x2, float y2) GdipDrawLine; +Status function(Handle graphics, Handle pen, GpPointF* points, int count) GdipDrawLines; +Status function(Handle graphics, Handle pen, int x1, int y1, int x2, int y2) GdipDrawLineI; +Status function(Handle graphics, Handle pen, GpPoint* points, int count) GdipDrawLinesI; +Status function(Handle graphics, Handle pen, float x, float y, float width, float height, float startAngle, float sweepAngle) GdipDrawArc; +Status function(Handle graphics, Handle pen, int x, int y, int width, int height, float startAngle, float sweepAngle) GdipDrawArcI; +Status function(Handle graphics, Handle pen, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4) GdipDrawBezier; +Status function(Handle graphics, Handle pen, GpPointF* points, int count) GdipDrawBeziers; +Status function(Handle graphics, Handle pen, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) GdipDrawBezierI; +Status function(Handle graphics, Handle pen, GpPoint* points, int count) GdipDrawBeziersI; +Status function(Handle graphics, Handle pen, float x, float y, float width, float height) GdipDrawRectangle; +Status function(Handle graphics, Handle pen, GpRectF* rects, int count) GdipDrawRectangles; +Status function(Handle graphics, Handle pen, int x, int y, int width, int height) GdipDrawRectangleI; +Status function(Handle graphics, Handle pen, GpRect* rects, int count) GdipDrawRectanglesI; +Status function(Handle graphics, Handle pen, float x, float y, float width, float height) GdipDrawEllipse; +Status function(Handle graphics, Handle pen, int x, int y, int width, int height) GdipDrawEllipseI; +Status function(Handle graphics, Handle pen, float x, float y, float width, float height, float startAngle, float sweepAngle) GdipDrawPie; +Status function(Handle graphics, Handle pen, int x, int y, int width, int height, float startAngle, float sweepAngle) GdipDrawPieI; +Status function(Handle graphics, Handle pen, GpPointF* points, int count) GdipDrawPolygon; +Status function(Handle graphics, Handle pen, GpPoint* points, int count) GdipDrawPolygonI; +Status function(Handle graphics, Handle pen, GpPointF* points, int count) GdipDrawCurve; +Status function(Handle graphics, Handle pen, GpPointF* points, int count, float tension) GdipDrawCurve2; +Status function(Handle graphics, Handle pen, GpPointF* points, int count, int offset, int numberOfSegments, float tension) GdipDrawCurve3; +Status function(Handle graphics, Handle pen, GpPoint* points, int count) GdipDrawCurveI; +Status function(Handle graphics, Handle pen, GpPoint* points, int count, float tension) GdipDrawCurve2I; +Status function(Handle graphics, Handle pen, GpPoint* points, int count, int offset, int numberOfSegments, float tension) GdipDrawCurve3I; +Status function(Handle graphics, Handle pen, GpPointF* points, int count) GdipDrawClosedCurve; +Status function(Handle graphics, Handle pen, GpPointF* points, int count, float tension) GdipDrawClosedCurve2; +Status function(Handle graphics, Handle pen, GpPoint* points, int count) GdipDrawClosedCurveI; +Status function(Handle graphics, Handle pen, GpPoint* points, int count, float tension) GdipDrawClosedCurve2I; +Status function(Handle graphics, Handle brush, int x, int y, int width, int height) GdipFillRectangleI; +Status function(Handle graphics, Handle brush, float x, float y, float width, float height) GdipFillRectangle; +Status function(Handle graphics, Handle brush, GpRect* rects, int count) GdipFillRectanglesI; +Status function(Handle graphics, Handle brush, GpRectF* rects, int count) GdipFillRectangles; +Status function(Handle graphics, Handle brush, GpPointF* rects, int count, FillMode fillMode) GdipFillPolygon; +Status function(Handle graphics, Handle brush, GpPoint* rects, int count, FillMode fillMode) GdipFillPolygonI; +Status function(Handle graphics, Handle brush, float x, float y, float width, float height) GdipFillEllipse; +Status function(Handle graphics, Handle brush, int x, int y, int width, int height) GdipFillEllipseI; +Status function(Handle graphics, Handle brush, float x, float y, float width, float height, float startAngle, float sweepAngle) GdipFillPie; +Status function(Handle graphics, Handle brush, int x, int y, int width, int height, float startAngle, float sweepAngle) GdipFillPieI; +Status function(Handle graphics, Handle brush, Handle path) GdipFillPath; +Status function(Handle graphics, Handle brush, GpPointF* points, int count) GdipFillClosedCurve; +Status function(Handle graphics, Handle brush, GpPoint* points, int count) GdipFillClosedCurveI; +Status function(Handle graphics, Handle brush, GpPointF* points, int count, FillMode fillMode, float tension) GdipFillClosedCurve2; +Status function(Handle graphics, Handle brush, GpPoint* points, int count, FillMode fillMode, float tension) GdipFillClosedCurve2I; +Status function(Handle graphics, Handle brush, Handle region) GdipFillRegion; +Status function(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, Handle brush) GdipDrawString; +Status function(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, ref GpRectF boundingBox, int* codepointsFitted, int* linesFitted) GdipMeasureString; +Status function(Handle format, out int count) GdipGetStringFormatMeasurableCharacterRangeCount; +Status function(Handle format, out Handle newFormat) GdipCloneStringFormat; +Status function(Handle graphics, wchar* string, int length, Handle font, ref GpRectF layoutRect, Handle stringFormat, int regionCount, Handle* regions) GdipMeasureCharacterRanges; +Status function(Handle graphics, Handle image, float x, float y) GdipDrawImage; +Status function(Handle graphics, Handle image, int x, int y) GdipDrawImageI; +Status function(Handle graphics, Handle image, float x, float y, float width, float height) GdipDrawImageRect; +Status function(Handle graphics, Handle image, int x, int y, int width, int height) GdipDrawImageRectI; +Status function(Handle graphics, Handle image, float x, float y, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit) GdipDrawImagePointRect; +Status function(Handle graphics, Handle image, int x, int y, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit) GdipDrawImagePointRectI; +Status function(Handle graphics, Handle image, float dstx, float dsty, float dstwidth, float dstheight, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData) GdipDrawImageRectRect; +Status function(Handle graphics, Handle image, int dstx, int dsty, int dstwidth, int dstheight, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData) GdipDrawImageRectRectI; +Status function(Handle graphics, Handle image, GpPointF* dstpoints, int count) GdipDrawImagePoints; +Status function(Handle graphics, Handle image, GpPoint* dstpoints, int count) GdipDrawImagePointsI; +Status function(Handle graphics, Handle image, GpPointF* dstpoints, int count, float srcx, float srcy, float srcwidth, float srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData) GdipDrawImagePointsRect; +Status function(Handle graphics, Handle image, GpPoint* dstpoints, int count, int srcx, int srcy, int srcwidth, int srcheight, GraphicsUnit srcUnit, Handle imageAttributes, GpDrawImageAbort callback, void* callbakcData) GdipDrawImagePointsRectI; +Status function(Handle graphics, float x, float y, out int result) GdipIsVisiblePoint; +Status function(Handle graphics, int x, int y, out int result) GdipIsVisiblePointI; +Status function(Handle graphics, float x, float y, float width, float height, out int result) GdipIsVisibleRect; +Status function(Handle graphics, int x, int y, int width, int height, out int result) GdipIsVisibleRectI; +Status function(Handle graphics, out TextRenderingHint mode) GdipGetTextRenderingHint; +Status function(Handle graphics, TextRenderingHint mode) GdipSetTextRenderingHint; +Status function(Handle graphics, out GpRectF rect) GdipGetClipBounds; +Status function(Handle graphics, out GpRect rect) GdipGetClipBoundsI; +Status function(Handle graphics, out GpRectF rect) GdipGetVisibleClipBounds; +Status function(Handle graphics, out GpRect rect) GdipGetVisibleClipBoundsI; +Status function(Handle graphics, out int result) GdipIsClipEmpty; +Status function(Handle graphics, out int result) GdipIsVisibleClipEmpty; +Status function(Handle graphics, out int x, out int y) GdipGetRenderingOrigin; +Status function(Handle graphics, int x, int y) GdipSetRenderingOrigin; +Status function(Handle graphics, ref int argb) GdipGetNearestColor; +Status function(Handle graphics, uint sizeData, ubyte* data) GdipComment; +Status function(Handle graphics, CoordinateSpace destSpace, CoordinateSpace srcSpace, GpPointF* points, int count) GdipTransformPoints; +Status function(Handle graphics, CoordinateSpace destSpace, CoordinateSpace srcSpace, GpPoint* points, int count) GdipTransformPointsI; +Status function(out Handle matrix) GdipCreateMatrix; +Status function(float m11, float m12, float m21, float m22, float dx, float dy, out Handle matrix) GdipCreateMatrix2; +Status function(ref GpRectF rect, GpPointF* dstplg, out Handle matrix) GdipCreateMatrix3; +Status function(ref GpRect rect, GpPoint* dstplg, out Handle matrix) GdipCreateMatrix3I; +Status function(Handle matrix) GdipDeleteMatrix; +Status function(Handle matrix, out Handle cloneMatrix) GdipCloneMatrix; +Status function(Handle matrix, float* matrixOut) GdipGetMatrixElements; +Status function(Handle matrix, float m11, float m12, float m21, float m22, float xy, float dy) GdipSetMatrixElements; +Status function(Handle matrix) GdipInvertMatrix; +Status function(Handle matrix, Handle matrix2, MatrixOrder order) GdipMultiplyMatrix; +Status function(Handle matrix, float scaleX, float scaleY, MatrixOrder order) GdipScaleMatrix; +Status function(Handle matrix, float shearX, float shearY, MatrixOrder order) GdipShearMatrix; +Status function(Handle matrix, float angle, MatrixOrder order) GdipRotateMatrix; +Status function(Handle matrix, float offsetX, float offsetY, MatrixOrder order) GdipTranslateMatrix; +Status function(Handle matrix, out int result) GdipIsMatrixIdentity; +Status function(Handle matrix, out int result) GdipIsMatrixInvertible; +Status function(Handle matrix, GpPointF *pts, int count) GdipTransformMatrixPoints; +Status function(Handle brush, out BrushType type ) GdipGetBrushType; +Status function(Handle brush, out Handle cloneBrush) GdipCloneBrush; +Status function(Handle brush) GdipDeleteBrush; +Status function(int color, out Handle brush) GdipCreateSolidFill; +Status function(Handle brush, out int color) GdipGetSolidFillColor; +Status function(Handle brush, int color) GdipSetSolidFillColor; +Status function(Handle image, WrapMode wrapMode, out Handle texture) GdipCreateTexture; +Status function(Handle image, WrapMode wrapMode, float x, float y, float width, float height, out Handle texture) GdipCreateTexture2; +Status function(Handle image, WrapMode wrapMode, int x, int y, int width, int height, out Handle texture) GdipCreateTexture2I; +Status function(Handle brush, out Handle image) GdipGetTextureImage; +Status function(Handle brush, out Handle matrix) GdipGetTextureTransform; +Status function(Handle brush, Handle matrix) GdipSetTextureTransform; +Status function(Handle brush, out WrapMode wrapmode) GdipGetTextureWrapMode; +Status function(Handle brush, WrapMode wrapmode) GdipSetTextureWrapMode; +Status function(HatchStyle hatchstyle, int forecol, int backcol, out Handle brush) GdipCreateHatchBrush; +Status function(Handle brush, out HatchStyle hatchstyle) GdipGetHatchStyle; +Status function(Handle brush, out int forecol) GdipGetHatchForegroundColor; +Status function(Handle brush, out int backcol) GdipGetHatchBackgroundColor; +Status function(ref GpPoint point1, ref GpPoint point2, int color1, int color2, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrushI; +Status function(ref GpPointF point1, ref GpPointF point2, int color1, int color2, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrush; +Status function(ref GpRect rect, int color1, int color2, LinearGradientMode mode, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrushFromRectI; +Status function(ref GpRectF rect, int color1, int color2, LinearGradientMode mode, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrushFromRect; +Status function(ref GpRect rect, int color1, int color2, float angle, int isAngleScalable, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrushFromRectWithAngleI; +Status function(ref GpRectF rect, int color1, int color2, float angle, int isAngleScalable, WrapMode wrapMode, out Handle lineGradient) GdipCreateLineBrushFromRectWithAngle; +Status function(Handle brush, out int count) GdipGetLineBlendCount; +Status function(Handle brush, float* blend, float* positions, int count) GdipGetLineBlend; +Status function(Handle brush, float* blend, float* positions, int count) GdipSetLineBlend; +Status function(Handle brush, out int count) GdipGetLinePresetBlendCount; +Status function(Handle brush, uint* blend, float* positions, int count) GdipGetLinePresetBlend; +Status function(Handle brush, uint* blend, float* positions, int count) GdipSetLinePresetBlend; +Status function(Handle brush, out WrapMode wrapmode) GdipGetLineWrapMode; +Status function(Handle brush, WrapMode wrapmode) GdipSetLineWrapMode; +Status function(Handle brush, out GpRectF rect) GdipGetLineRect; +Status function(Handle brush, int* colors) GdipGetLineColors; +Status function(Handle brush, int color1, int color2) GdipSetLineColors; +Status function(Handle brush, out int useGammaCorrection) GdipGetLineGammaCorrection; +Status function(Handle brush, int useGammaCorrection) GdipSetLineGammaCorrection; +Status function(Handle brush, float focus, float scale) GdipSetLineSigmaBlend; +Status function(Handle brush, float focus, float scale) GdipSetLineLinearBlend; +Status function(Handle brush, out Handle matrix) GdipGetLineTransform; +Status function(Handle brush, Handle matrix) GdipSetLineTransform; +Status function(Handle brush) GdipResetLineTransform; +Status function(Handle brush, Handle matrix, MatrixOrder order) GdipMultiplyLineTransform; +Status function(Handle brush, float dx, float dy, MatrixOrder order) GdipTranslateLineTransform; +Status function(Handle brush, float sx, float sy, MatrixOrder order) GdipScaleLineTransform; +Status function(Handle brush, float angle, MatrixOrder order) GdipRotateLineTransform; +Status function(int argb, float width, GraphicsUnit unit, out Handle pen) GdipCreatePen1; +Status function(Handle brush, float width, GraphicsUnit unit, out Handle pen) GdipCreatePen2; +Status function(Handle pen) GdipDeletePen; +Status function(Handle pen, out Handle clonepen) GdipClonePen; +Status function(Handle pen, LineCap startCap, LineCap endCap, DashCap dashCap) GdipSetPenLineCap197819; +Status function(Handle pen, out LineCap startCap) GdipGetPenStartCap; +Status function(Handle pen, LineCap startCap) GdipSetPenStartCap; +Status function(Handle pen, out LineCap endCap) GdipGetPenEndCap; +Status function(Handle pen, LineCap endCap) GdipSetPenEndCap; +Status function(Handle pen, out DashCap endCap) GdipGetPenDashCap197819; +Status function(Handle pen, DashCap endCap) GdipSetPenDashCap197819; +Status function(Handle pen, out LineJoin lineJoin) GdipGetPenLineJoin; +Status function(Handle pen, LineJoin lineJoin) GdipSetPenLineJoin; +Status function(Handle pen, out float miterLimit) GdipGetPenMiterLimit; +Status function(Handle pen, float miterLimit) GdipSetPenMiterLimit; +Status function(Handle pen, out PenAlignment penMode) GdipGetPenMode; +Status function(Handle pen, PenAlignment penMode) GdipSetPenMode; +Status function(Handle pen, out Handle matrix) GdipGetPenTransform; +Status function(Handle pen, Handle matrix) GdipSetPenTransform; +Status function(Handle pen) GdipResetPenTransform; +Status function(Handle pen, Handle matrix, MatrixOrder order) GdipMultiplyPenTransform; +Status function(Handle pen, float dx, float dy, MatrixOrder order) GdipTranslatePenTransform; +Status function(Handle pen, float sx, float sy, MatrixOrder order) GdipScalePenTransform; +Status function(Handle pen, float angle, MatrixOrder order) GdipRotatePenTransform; +Status function(Handle pen, out int argb) GdipGetPenColor; +Status function(Handle pen, int argb) GdipSetPenColor; +Status function(Handle pen, out float width) GdipGetPenWidth; +Status function(Handle pen, float width) GdipSetPenWidth; +Status function(Handle pen, out PenType type) GdipGetPenFillType; +Status function(Handle pen, out Handle brush) GdipGetPenBrushFill; +Status function(Handle pen, Handle brush) GdipSetPenBrushFill; +Status function(Handle pen, out DashStyle dashstyle) GdipGetPenDashStyle; +Status function(Handle pen, DashStyle dashstyle) GdipSetPenDashStyle; +Status function(Handle pen, out float offset) GdipGetPenDashOffset; +Status function(Handle pen, float offset) GdipSetPenDashOffset; +Status function(Handle pen, out int count) GdipGetPenDashCount; +Status function(Handle pen, float* dash, int count) GdipGetPenDashArray; +Status function(Handle pen, float* dash, int count) GdipSetPenDashArray; +Status function(Handle pen, out int count) GdipGetPenCompoundCount; +Status function(Handle pen, float* dash, int count) GdipGetPenCompoundArray; +Status function(Handle pen, float* dash, int count) GdipSetPenCompoundArray; +Status function(out Handle region) GdipCreateRegion; +Status function(ref GpRectF rect, out Handle region) GdipCreateRegionRect; +Status function(ref GpRect rect, out Handle region) GdipCreateRegionRectI; +Status function(Handle path, out Handle region) GdipCreateRegionPath; +Status function(Handle hRgn, out Handle region) GdipCreateRegionHrgn; +Status function(Handle region) GdipDeleteRegion; +Status function(Handle region) GdipSetInfinite; +Status function(Handle region) GdipSetEmpty; +Status function(Handle region, ref GpRectF rect, CombineMode combineMode) GdipCombineRegionRect; +Status function(Handle region, ref GpRect rect, CombineMode combineMode) GdipCombineRegionRectI; +Status function(Handle region, Handle path, CombineMode combineMode) GdipCombineRegionPath; +Status function(Handle region, Handle region, CombineMode combineMode) GdipCombineRegionRegion; +Status function(Handle region, float dx, float dy) GdipTranslateRegion; +Status function(Handle region, int dx, int dy) GdipTranslateRegionI; +Status function(Handle region, Handle matrix) GdipTransformRegion; +Status function(Handle region, Handle graphics, out GpRectF rect) GdipGetRegionBounds; +Status function(Handle region, Handle graphics, out Handle hRgn) GdipGetRegionHRgn; +Status function(Handle region, Handle graphics, out int result) GdipIsEmptyRegion; +Status function(Handle region, Handle graphics, out int result) GdipIsInfiniteRegion; +Status function(Handle region1, Handle region2, Handle graphics, out int result) GdipIsEqualRegion; +Status function(Handle region, float x, float y, Handle graphics, out int result) GdipIsVisibleRegionPoint; +Status function(Handle region, float x, float y, float width, float height, Handle graphics, out int result) GdipIsVisibleRegionRect; +Status function(Handle region, int x, int y, Handle graphics, out int result) GdipIsVisibleRegionPointI; +Status function(Handle region, int x, int y, int width, int height, Handle graphics, out int result) GdipIsVisibleRegionRectI; +Status function(Handle region, out int count, Handle matrix) GdipGetRegionScansCount; +Status function(Handle region, GpRectF* rects, out int count, Handle matrix) GdipGetRegionScans; +Status function(Handle image) GdipDisposeImage; +Status function(Handle image) GdipImageForceValidation; +Status function(wchar* filename, out Handle image) GdipLoadImageFromFileICM; +Status function(wchar* filename, out Handle image) GdipLoadImageFromFile; +Status function(out int numEncoders, out int size) GdipGetImageEncodersSize; +Status function(Handle image, out Handle cloneImage) GdipCloneImage; +Status function(Handle image, out int type) GdipGetImageType; +Status function(Handle image, out uint flags) GdipGetImageFlags; +Status function(Handle image, out uint width) GdipGetImageWidth; +Status function(Handle image, out uint height) GdipGetImageHeight; +Status function(Handle image, out float resolution) GdipGetImageHorizontalResolution; +Status function(Handle image, out float resolution) GdipGetImageVerticalResolution; +Status function(Handle image, out int numOfProperty) GdipGetPropertyCount; +Status function(Handle image, int numOfProperty, int* list) GdipGetPropertyIdList; +Status function(Handle image, out PixelFormat format) GdipGetImagePixelFormat; +Status function(Handle image, out float width, out float height) GdipGetImageDimension; +Status function(Handle image, int thumbWidth, int thumbHeight, out Handle thumbImage, GpGetThumbnailImageAbort callback, void* callbackData) GdipGetImageThumbnail; +Status function(Handle image, out int count) GdipImageGetFrameDimensionsCount; +Status function(Handle image, RotateFlipType rotateFlipType) GdipImageRotateFlip; +Status function(Handle image, int propId, out uint propSize) GdipGetPropertyItemSize; +Status function(Handle image, int propId, uint propSize, GpPropertyItem* buffer) GdipGetPropertyItem; +Status function(Handle image, ref GpPropertyItem buffer) GdipSetPropertyItem; +Status function(Handle image, int propId) GdipRemovePropertyItem; +Status function(Handle image, out uint totalBufferSize, ref int numProperties) GdipGetPropertySize; +Status function(Handle image, uint totalBufferSize, int numProperties, GpPropertyItem* allItems) GdipGetAllPropertyItems; +Status function(Handle image, out GpRectF srcRect, out GraphicsUnit srcUnit) GdipGetImageBounds; +Status function(Handle image, out int size) GdipGetImagePaletteSize; +Status function(Handle image, GpColorPalette* palette, int size) GdipGetImagePalette; +Status function(Handle image, GpColorPalette* palette) GdipSetImagePalette; +Status function(int width, int height, int stride, PixelFormat format, ubyte* scan0, out Handle bitmap) GdipCreateBitmapFromScan0; +Status function(Handle hbitmap, Handle hpalette, out Handle bitmap) GdipCreateBitmapFromHBITMAP; +Status function(Handle hicon, out Handle bitmap) GdipCreateBitmapFromHICON; +Status function(wchar* fileName, out Handle bitmap) GdipCreateBitmapFromFileICM; +Status function(wchar* fileName, out Handle bitmap) GdipCreateBitmapFromFile; +Status function(int width, int height, Handle graphics, out Handle bitmap) GdipCreateBitmapFromGraphics; +Status function(float x, float y, float width, float height, PixelFormat format, Handle srcbitmap, out Handle dstbitmap) GdipCloneBitmapArea; +Status function(int x, int y, int width, int height, PixelFormat format, Handle srcbitmap, out Handle dstbitmap) GdipCloneBitmapAreaI; +Status function(Handle bitmap, int x, int y, out int color) GdipBitmapGetPixel; +Status function(Handle bitmap, int x, int y, int color) GdipBitmapSetPixel; +Status function(Handle bitmap, GpRect* rect, ImageLockMode flags, PixelFormat format, GpBitmapData* lockedBitmapData) GdipBitmapLockBits; +Status function(Handle bitmap, GpBitmapData* lockedBitmapData) GdipBitmapUnlockBits; +Status function(Handle bitmap, float xdpi, float ydpi) GdipBitmapSetResolution; +Status function(Handle bitmap, out Handle hbmReturn) GdipCreateHICONFromBitmap; +Status function(Handle bitmap, out Handle hbmReturn, int background) GdipCreateHBITMAPFromBitmap; +Status function(out Handle imageattr) GdipCreateImageAttributes; +Status function(Handle imageattr) GdipDisposeImageAttributes; +Status function(Handle imageattr, ColorAdjustType type, int enableFlag, GpColorMatrix* colorMatrix, GpColorMatrix* grayMatrix, ColorMatrixFlag flags) GdipSetImageAttributesColorMatrix; +Status function(Handle imageattr, ColorAdjustType type, int enableFlag, float threshold) GdipSetImageAttributesThreshold; +Status function(Handle imageattr, ColorAdjustType type, int enableFlag, float gamma) GdipSetImageAttributesGamma; +Status function(Handle imageattr, ColorAdjustType type, int enableFlag) GdipSetImageAttributesNoOp; +Status function(Handle imageattr, ColorAdjustType type, int enableFlag, int colorLow, int colorHigh) GdipSetImageAttributesColorKeys; +Status function(Handle imageattr, ColorAdjustType type, int enableFlag, ColorChannelFlag flags) GdipSetImageAttributesOutputChannel; +Status function(Handle imageattr, ColorAdjustType type, int enableFlag, wchar* colorProfileFilename) GdipSetImageAttributesOutputChannelColorProfile; +Status function(Handle imageattr, WrapMode wrap, int argb, int clamp) GdipSetImageAttributesWrapMode; +Status function(out Handle fontCollection) GdipNewInstalledFontCollection; +Status function(out Handle fontCollection) GdipNewPrivateFontCollection; +Status function(Handle fontCollection) GdipDeletePrivateFontCollection; +Status function(Handle fontCollection, wchar* filename) GdipPrivateAddFontFile; +Status function(Handle fontCollection, void* memory, int length) GdipPrivateAddMemoryFont; +Status function(Handle fontCollection, out int numFound) GdipGetFontCollectionFamilyCount; +Status function(Handle fontCollection, int numSought, Handle* gpfamilies, out int numFound) GdipGetFontCollectionFamilyList; +Status function(wchar* name, Handle fontCollection, out Handle FontFamily) GdipCreateFontFamilyFromName; +Status function(Handle FontFamily) GdipDeleteFontFamily; +Status function(Handle FontFamily, out Handle clonedFontFamily) GdipCloneFontFamily; +Status function(Handle family, wchar* name, int language) GdipGetFamilyName; +Status function(out Handle nativeFamily) GdipGetGenericFontFamilyMonospace; +Status function(out Handle nativeFamily) GdipGetGenericFontFamilySerif; +Status function(out Handle nativeFamily) GdipGetGenericFontFamilySansSerif; +Status function(Handle family, FontStyle style, out short EmHeight) GdipGetEmHeight; +Status function(Handle family, FontStyle style, out short CellAscent) GdipGetCellAscent; +Status function(Handle family, FontStyle style, out short CellDescent) GdipGetCellDescent; +Status function(Handle family, FontStyle style, out short LineSpacing) GdipGetLineSpacing; +Status function(Handle family, FontStyle style, out int IsStyleAvailable) GdipIsStyleAvailable; +Status function(Handle fontFamily, float emSize, int style, int unit, out Handle font) GdipCreateFont; +Status function(Handle hdc, out Handle font) GdipCreateFontFromDC; +Status function(Handle font) GdipDeleteFont; +Status function(Handle font, out Handle cloneFont) GdipCloneFont; +Status function(Handle font, out float size) GdipGetFontSize; +Status function(Handle font, Handle graphics, out float height) GdipGetFontHeight; +Status function(Handle font, float dpi, out float height) GdipGetFontHeightGivenDPI; +Status function(Handle font, out FontStyle style) GdipGetFontStyle; +Status function(Handle font, out GraphicsUnit unit) GdipGetFontUnit; +Status function(Handle font, out Handle family) GdipGetFamily; +Status function( Handle hdc, ref LOGFONTW logfont, out Handle font) GdipCreateFontFromLogfontW; +Status function( Handle hdc, ref LOGFONTA logfont, out Handle font ) GdipCreateFontFromLogfontA; +Status function(Handle font, Handle graphics, out LOGFONTW logfontW) GdipGetLogFontW; +Status function(StringFormatFlags formatAttributes, int language, out Handle format) GdipCreateStringFormat; +Status function(Handle format) GdipDeleteStringFormat; +Status function(Handle format, out StringFormatFlags flags) GdipGetStringFormatFlags; +Status function(Handle format, StringFormatFlags flags) GdipSetStringFormatFlags; +Status function(Handle format, out StringAlignment alignment) GdipGetStringFormatAlign; +Status function(Handle format, StringAlignment alignment) GdipSetStringFormatAlign; +Status function(Handle format, out StringAlignment alignment) GdipGetStringFormatLineAlign; +Status function(Handle format, StringAlignment alignment) GdipSetStringFormatLineAlign; +Status function(Handle format, out StringTrimming trimming) GdipGetStringFormatTrimming; +Status function(Handle format, StringTrimming trimming) GdipSetStringFormatTrimming; +Status function(FillMode brushMode, out Handle path) GdipCreatePath; +Status function(GpPointF*, ubyte*, int, FillMode, out Handle) GdipCreatePath2; +Status function(GpPoint*, ubyte*, int, FillMode, out Handle) GdipCreatePath2I; +Status function(Handle path) GdipDeletePath; +Status function(Handle path, out Handle clonepath) GdipClonePath; +Status function(Handle path) GdipResetPath; +Status function(Handle path, out FillMode fillmode) GdipGetPathFillMode; +Status function(Handle path, FillMode fillmode) GdipSetPathFillMode; +Status function(Handle path) GdipStartPathFigure; +Status function(Handle path) GdipClosePathFigure; +Status function(Handle path) GdipClosePathFigures; +Status function(Handle path) GdipSetPathMarker; +Status function(Handle path) GdipClearPathMarkers; +Status function(Handle path) GdipReversePath; +Status function(Handle path, out GpPointF lastPoint) GdipGetPathLastPoint; +Status function(Handle path, float x1, float y1, float x2, float y2) GdipAddPathLine; +Status function(Handle path, int x1, int y1, int x2, int y2) GdipAddPathLineI; +Status function(Handle path, GpPointF* points, int count) GdipAddPathLine2; +Status function(Handle path, GpPoint* points, int count) GdipAddPathLine2I; +Status function(Handle path, float x, float y, float width, float height, float startAngle, float sweepAngle) GdipAddPathArc; +Status function(Handle path, int x, int y, int width, int height, float startAngle, float sweepAngle) GdipAddPathArcI; +Status function(Handle path, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4) GdipAddPathBezier; +Status function(Handle path, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) GdipAddPathBezierI; +Status function(Handle path, GpPointF* points, int count) GdipAddPathBeziers; +Status function(Handle path, GpPoint* points, int count) GdipAddPathBeziersI; +Status function(Handle path, GpPointF* points, int count) GdipAddPathCurve; +Status function(Handle path, GpPoint* points, int count) GdipAddPathCurveI; +Status function(Handle path, GpPointF* points, int count, float tension) GdipAddPathCurve2; +Status function(Handle path, GpPoint* points, int count, float tension) GdipAddPathCurve2I; +Status function(Handle path, GpPointF* points, int count, int offset, int numberOfSegments, float tension) GdipAddPathCurve3; +Status function(Handle path, GpPoint* points, int count, int offset, int numberOfSegments, float tension) GdipAddPathCurve3I; +Status function(Handle path, GpPointF* points, int count) GdipAddPathClosedCurve; +Status function(Handle path, GpPoint* points, int count) GdipAddPathClosedCurveI; +Status function(Handle path, GpPointF* points, int count, float tension) GdipAddPathClosedCurve2; +Status function(Handle path, GpPoint* points, int count, float tension) GdipAddPathClosedCurve2I; +Status function(Handle path, float x, float y, float width, float height) GdipAddPathRectangle; +Status function(Handle path, int x, int y, int width, int height) GdipAddPathRectangleI; +Status function(Handle path, GpRectF* rects, int count) GdipAddPathRectangles; +Status function(Handle path, GpRect* rects, int count) GdipAddPathRectanglesI; +Status function(Handle path, float x, float y, float width, float height) GdipAddPathEllipse; +Status function(Handle path, int x, int y, int width, int height) GdipAddPathEllipseI; +Status function(Handle path, float x, float y, float width, float height, float startAngle, float sweepAngle) GdipAddPathPie; +Status function(Handle path, int x, int y, int width, int height, float startAngle, float sweepAngle) GdipAddPathPieI; +Status function(Handle path, GpPointF* points, int count) GdipAddPathPolygon; +Status function(Handle path, GpPoint* points, int count) GdipAddPathPolygonI; +Status function(Handle path, Handle addingPath, int connect) GdipAddPathPath; +Status function(Handle path, wchar* string, int length, Handle family, FontStyle style, float emSize, ref GpRectF layoutRect, Handle format) GdipAddPathString; +Status function(Handle path, wchar* string, int length, Handle family, FontStyle style, float emSize, ref GpRect layoutRect, Handle format) GdipAddPathStringI; +Status function(Handle path, Handle matrix) GdipTransformPath; +Status function(Handle path, out GpRectF bounds, Handle matrix, Handle pen) GdipGetPathWorldBounds; +Status function(Handle path, Handle matrix, float flatness) GdipFlattenPath; +Status function(Handle path, Handle pen, Handle matrix, float flatness) GdipWidenPath; +Status function(Handle path, Handle matrix, float flatness) GdipWindingModeOutline; +Status function(Handle path, Handle matrix, GpPointF* points, int count, float srcx, float srcy, float srcwidth, float srcwidth, WarpMode warpMode, float flatness) GdipWarpPath; +Status function(Handle path, out int count) GdipGetPointCount; +Status function(Handle path, byte* types, int count) GdipGetPathTypes; +Status function(Handle path, GpPointF* points, int count) GdipGetPathPoints; +Status function(Handle path, float x, float y, Handle graphics, out int result) GdipIsVisiblePathPoint; +Status function(Handle path, int x, int y, Handle graphics, out int result) GdipIsVisiblePathPointI; +Status function(Handle path, float x, float y, Handle pen, Handle graphics, out int result) GdipIsOutlineVisiblePathPoint; +Status function(Handle path, int x, int y, Handle pen, Handle graphics, out int result) GdipIsOutlineVisiblePathPointI; +Status function(Handle graphics, Handle pen, Handle path) GdipDrawPath; +Status function(out Handle iterator, Handle path) GdipCreatePathIter; +Status function(Handle iterator) GdipDeletePathIter; +Status function(Handle iterator, out int resultCount, out int startIndex, out int endIndex, out int isClosed) GdipPathIterNextSubpath; +Status function(Handle iterator, out int resultCount, Handle path, out int isClosed) GdipPathIterNextSubpathPath; +Status function(Handle iterator, out int resultCount, out ubyte pathType, out int startIndex, out int endIndex) GdipPathIterNextPathType; +Status function(Handle iterator, out int resultCount, out int startIndex, out int endIndex) GdipPathIterNextMarker; +Status function(Handle iterator, out int resultCount, Handle path) GdipPathIterNextMarkerPath; +Status function(Handle iterator, out int count) GdipPathIterGetCount; +Status function(Handle iterator, out int count) GdipPathIterGetSubpathCount; +Status function(Handle iterator, out int hasCurve) GdipPathIterHasCurve; +Status function(Handle iterator) GdipPathIterRewind; +Status function(Handle iterator, out int resultCount, GpPointF* points, ubyte* types, int count) GdipPathIterEnumerate; +Status function(Handle iterator, out int resultCount, GpPointF* points, ubyte* types, int startIndex, int endIndex) GdipPathIterCopyData; +Status function(GpPointF* points, int count, WrapMode wrapMode, out Handle polyGradient) GdipCreatePathGradient; +Status function(GpPoint* points, int count, WrapMode wrapMode, out Handle polyGradient) GdipCreatePathGradientI; +Status function(Handle path, out Handle polyGradient) GdipCreatePathGradientFromPath; +Status function(Handle brush, out int colors) GdipGetPathGradientCenterColor; +Status function(Handle brush, int colors) GdipSetPathGradientCenterColor; +Status function(Handle brush, out int count) GdipGetPathGradientSurroundColorCount; +Status function(Handle brush, int* color, ref int count) GdipGetPathGradientSurroundColorsWithCount; +Status function(Handle brush, int* color, ref int count) GdipSetPathGradientSurroundColorsWithCount; +Status function(Handle brush, ref GpPointF point) GdipGetPathGradientCenterPoint; +Status function(Handle brush, ref GpPointF point) GdipSetPathGradientCenterPoint; +Status function(Handle brush, ref GpRectF rect) GdipGetPathGradientRect; +Status function(Handle brush, out int count) GdipGetPathGradientBlendCount; +Status function(Handle brush, float* blend, float* positions, int count) GdipGetPathGradientBlend; +Status function(Handle brush, float* blend, float* positions, int count) GdipSetPathGradientBlend; +Status function(Handle brush, out int count) GdipGetPathGradientPresetBlendCount; +Status function(Handle brush, int* blend, float* positions, int count) GdipGetPathGradientPresetBlend; +Status function(Handle brush, int* blend, float* positions, int count) GdipSetPathGradientPresetBlend; +Status function(Handle brush, float focus, float scale) GdipSetPathGradientSigmaBlend; +Status function(Handle brush, float focus, float scale) GdipSetPathGradientLinearBlend; +Status function(Handle brush, out Handle matrix) GdipGetPathGradientTransform; +Status function(Handle brush, Handle matrix) GdipSetPathGradientTransform; +Status function(Handle brush) GdipResetPathGradientTransform; +Status function(Handle brush, Handle matrix, MatrixOrder order) GdipMultiplyPathGradientTransform; +Status function(Handle brush, float angle, MatrixOrder order) GdipRotatePathGradientTransform; +Status function(Handle brush, float dx, float dy, MatrixOrder order) GdipTranslatePathGradientTransform; +Status function(Handle brush, float sx, float sy, MatrixOrder order) GdipScalePathGradientTransform; +Status function(Handle brush, out float xScale, out float yScale) GdipGetPathGradientFocusScales; +Status function(Handle brush, float xScale, float yScale) GdipSetPathGradientFocusScales; +Status function(Handle brush, out WrapMode wrapMode) GdipGetPathGradientWrapMode; +Status function(Handle brush, WrapMode wrapMode) GdipSetPathGradientWrapMode; +Status function( Handle brush ) GdipResetTextureTransform; +Status function( Handle brush, float sx, float sy, MatrixOrder order ) GdipScaleTextureTransform; +Status function( Handle brush, float dx, float dy, MatrixOrder order) GdipTranslateTextureTransform; +Status function(out Handle format) GdipStringFormatGetGenericDefault; +Status function(out Handle format) GdipStringFormatGetGenericTypographic; +Status function(Handle format, int hotkeyPrefix) GdipSetStringFormatHotkeyPrefix; +Status function( Handle format, float firstTabOffset, int count, float* tabStops) GdipSetStringFormatTabStops; + +struct Symbol { + char[] name; + void** symbol; +} + +Symbol[] symbols = [ + { "GdiplusStartup", cast(void**)& GdiplusStartup }, + { "GdiplusShutdown", cast(void**)& GdiplusShutdown }, + { "GdipCreateFromHDC", cast(void**)& GdipCreateFromHDC }, + { "GdipCreateFromHDC2", cast(void**)& GdipCreateFromHDC2 }, + { "GdipCreateFromHWND", cast(void**)& GdipCreateFromHWND }, + { "GdipGetImageGraphicsContext", cast(void**)& GdipGetImageGraphicsContext }, + { "GdipDeleteGraphics", cast(void**)& GdipDeleteGraphics }, + { "GdipGetDC", cast(void**)& GdipGetDC }, + { "GdipReleaseDC", cast(void**)& GdipReleaseDC }, + { "GdipSetClipGraphics", cast(void**)& GdipSetClipGraphics }, + { "GdipSetClipRectI", cast(void**)& GdipSetClipRectI }, + { "GdipSetClipRect", cast(void**)& GdipSetClipRect }, + { "GdipSetClipPath", cast(void**)& GdipSetClipPath }, + { "GdipSetClipRegion", cast(void**)& GdipSetClipRegion }, + { "GdipSetClipHrgn", cast(void**)& GdipSetClipHrgn }, + { "GdipGetClip", cast(void**)& GdipGetClip }, + { "GdipResetClip", cast(void**)& GdipResetClip }, + { "GdipSaveGraphics", cast(void**)& GdipSaveGraphics }, + { "GdipRestoreGraphics", cast(void**)& GdipRestoreGraphics }, + { "GdipFlush", cast(void**)& GdipFlush }, + { "GdipScaleWorldTransform", cast(void**)& GdipScaleWorldTransform }, + { "GdipRotateWorldTransform", cast(void**)& GdipRotateWorldTransform }, + { "GdipTranslateWorldTransform", cast(void**)& GdipTranslateWorldTransform }, + { "GdipMultiplyWorldTransform", cast(void**)& GdipMultiplyWorldTransform }, + { "GdipResetWorldTransform", cast(void**)& GdipResetWorldTransform }, + { "GdipBeginContainer", cast(void**)& GdipBeginContainer }, + { "GdipBeginContainerI", cast(void**)& GdipBeginContainerI }, + { "GdipBeginContainer2", cast(void**)& GdipBeginContainer2 }, + { "GdipEndContainer", cast(void**)& GdipEndContainer }, + { "GdipGetDpiX", cast(void**)& GdipGetDpiX }, + { "GdipGetDpiY", cast(void**)& GdipGetDpiY }, + { "GdipGetPageUnit", cast(void**)& GdipGetPageUnit }, + { "GdipSetPageUnit", cast(void**)& GdipSetPageUnit }, + { "GdipGetPageScale", cast(void**)& GdipGetPageScale }, + { "GdipSetPageScale", cast(void**)& GdipSetPageScale }, + { "GdipGetWorldTransform", cast(void**)& GdipGetWorldTransform }, + { "GdipSetWorldTransform", cast(void**)& GdipSetWorldTransform }, + { "GdipGetCompositingMode", cast(void**)& GdipGetCompositingMode }, + { "GdipSetCompositingMode", cast(void**)& GdipSetCompositingMode }, + { "GdipGetCompositingQuality", cast(void**)& GdipGetCompositingQuality }, + { "GdipSetCompositingQuality", cast(void**)& GdipSetCompositingQuality }, + { "GdipGetInterpolationMode", cast(void**)& GdipGetInterpolationMode }, + { "GdipSetInterpolationMode", cast(void**)& GdipSetInterpolationMode }, + { "GdipGetSmoothingMode", cast(void**)& GdipGetSmoothingMode }, + { "GdipSetSmoothingMode", cast(void**)& GdipSetSmoothingMode }, + { "GdipGetPixelOffsetMode", cast(void**)& GdipGetPixelOffsetMode }, + { "GdipSetPixelOffsetMode", cast(void**)& GdipSetPixelOffsetMode }, + { "GdipGetTextContrast", cast(void**)& GdipGetTextContrast }, + { "GdipSetTextContrast", cast(void**)& GdipSetTextContrast }, + { "GdipGraphicsClear", cast(void**)& GdipGraphicsClear }, + { "GdipDrawLine", cast(void**)& GdipDrawLine }, + { "GdipDrawLines", cast(void**)& GdipDrawLines }, + { "GdipDrawLineI", cast(void**)& GdipDrawLineI }, + { "GdipDrawLinesI", cast(void**)& GdipDrawLinesI }, + { "GdipDrawArc", cast(void**)& GdipDrawArc }, + { "GdipDrawArcI", cast(void**)& GdipDrawArcI }, + { "GdipDrawBezier", cast(void**)& GdipDrawBezier }, + { "GdipDrawBeziers", cast(void**)& GdipDrawBeziers }, + { "GdipDrawBezierI", cast(void**)& GdipDrawBezierI }, + { "GdipDrawBeziersI", cast(void**)& GdipDrawBeziersI }, + { "GdipDrawRectangle", cast(void**)& GdipDrawRectangle }, + { "GdipDrawRectangles", cast(void**)& GdipDrawRectangles }, + { "GdipDrawRectangleI", cast(void**)& GdipDrawRectangleI }, + { "GdipDrawRectanglesI", cast(void**)& GdipDrawRectanglesI }, + { "GdipDrawEllipse", cast(void**)& GdipDrawEllipse }, + { "GdipDrawEllipseI", cast(void**)& GdipDrawEllipseI }, + { "GdipDrawPie", cast(void**)& GdipDrawPie }, + { "GdipDrawPieI", cast(void**)& GdipDrawPieI }, + { "GdipDrawPolygon", cast(void**)& GdipDrawPolygon }, + { "GdipDrawPolygonI", cast(void**)& GdipDrawPolygonI }, + { "GdipDrawCurve", cast(void**)& GdipDrawCurve }, + { "GdipDrawCurve2", cast(void**)& GdipDrawCurve2 }, + { "GdipDrawCurve3", cast(void**)& GdipDrawCurve3 }, + { "GdipDrawCurveI", cast(void**)& GdipDrawCurveI }, + { "GdipDrawCurve2I", cast(void**)& GdipDrawCurve2I }, + { "GdipDrawCurve3I", cast(void**)& GdipDrawCurve3I }, + { "GdipDrawClosedCurve", cast(void**)& GdipDrawClosedCurve }, + { "GdipDrawClosedCurve2", cast(void**)& GdipDrawClosedCurve2 }, + { "GdipDrawClosedCurveI", cast(void**)& GdipDrawClosedCurveI }, + { "GdipDrawClosedCurve2I", cast(void**)& GdipDrawClosedCurve2I }, + { "GdipFillRectangleI", cast(void**)& GdipFillRectangleI }, + { "GdipFillRectangle", cast(void**)& GdipFillRectangle }, + { "GdipFillRectanglesI", cast(void**)& GdipFillRectanglesI }, + { "GdipFillRectangles", cast(void**)& GdipFillRectangles }, + { "GdipFillPolygon", cast(void**)& GdipFillPolygon }, + { "GdipFillPolygonI", cast(void**)& GdipFillPolygonI }, + { "GdipFillEllipse", cast(void**)& GdipFillEllipse }, + { "GdipFillEllipseI", cast(void**)& GdipFillEllipseI }, + { "GdipFillPie", cast(void**)& GdipFillPie }, + { "GdipFillPieI", cast(void**)& GdipFillPieI }, + { "GdipFillPath", cast(void**)& GdipFillPath }, + { "GdipFillClosedCurve", cast(void**)& GdipFillClosedCurve }, + { "GdipFillClosedCurveI", cast(void**)& GdipFillClosedCurveI }, + { "GdipFillClosedCurve2", cast(void**)& GdipFillClosedCurve2 }, + { "GdipFillClosedCurve2I", cast(void**)& GdipFillClosedCurve2I }, + { "GdipFillRegion", cast(void**)& GdipFillRegion }, + { "GdipDrawString", cast(void**)& GdipDrawString }, + { "GdipMeasureString", cast(void**)& GdipMeasureString }, + { "GdipGetStringFormatMeasurableCharacterRangeCount", cast(void**)& GdipGetStringFormatMeasurableCharacterRangeCount }, + { "GdipCloneStringFormat", cast(void**)& GdipCloneStringFormat }, + { "GdipMeasureCharacterRanges", cast(void**)& GdipMeasureCharacterRanges }, + { "GdipDrawImage", cast(void**)& GdipDrawImage }, + { "GdipDrawImageI", cast(void**)& GdipDrawImageI }, + { "GdipDrawImageRect", cast(void**)& GdipDrawImageRect }, + { "GdipDrawImageRectI", cast(void**)& GdipDrawImageRectI }, + { "GdipDrawImagePointRect", cast(void**)& GdipDrawImagePointRect }, + { "GdipDrawImagePointRectI", cast(void**)& GdipDrawImagePointRectI }, + { "GdipDrawImageRectRect", cast(void**)& GdipDrawImageRectRect }, + { "GdipDrawImageRectRectI", cast(void**)& GdipDrawImageRectRectI }, + { "GdipDrawImagePoints", cast(void**)& GdipDrawImagePoints }, + { "GdipDrawImagePointsI", cast(void**)& GdipDrawImagePointsI }, + { "GdipDrawImagePointsRect", cast(void**)& GdipDrawImagePointsRect }, + { "GdipDrawImagePointsRectI", cast(void**)& GdipDrawImagePointsRectI }, + { "GdipIsVisiblePoint", cast(void**)& GdipIsVisiblePoint }, + { "GdipIsVisiblePointI", cast(void**)& GdipIsVisiblePointI }, + { "GdipIsVisibleRect", cast(void**)& GdipIsVisibleRect }, + { "GdipIsVisibleRectI", cast(void**)& GdipIsVisibleRectI }, + { "GdipGetTextRenderingHint", cast(void**)& GdipGetTextRenderingHint }, + { "GdipSetTextRenderingHint", cast(void**)& GdipSetTextRenderingHint }, + { "GdipGetClipBounds", cast(void**)& GdipGetClipBounds }, + { "GdipGetClipBoundsI", cast(void**)& GdipGetClipBoundsI }, + { "GdipGetVisibleClipBounds", cast(void**)& GdipGetVisibleClipBounds }, + { "GdipGetVisibleClipBoundsI", cast(void**)& GdipGetVisibleClipBoundsI }, + { "GdipIsClipEmpty", cast(void**)& GdipIsClipEmpty }, + { "GdipIsVisibleClipEmpty", cast(void**)& GdipIsVisibleClipEmpty }, + { "GdipGetRenderingOrigin", cast(void**)& GdipGetRenderingOrigin }, + { "GdipSetRenderingOrigin", cast(void**)& GdipSetRenderingOrigin }, + { "GdipGetNearestColor", cast(void**)& GdipGetNearestColor }, + { "GdipComment", cast(void**)& GdipComment }, + { "GdipTransformPoints", cast(void**)& GdipTransformPoints }, + { "GdipTransformPointsI", cast(void**)& GdipTransformPointsI }, + { "GdipCreateMatrix", cast(void**)& GdipCreateMatrix }, + { "GdipCreateMatrix2", cast(void**)& GdipCreateMatrix2 }, + { "GdipCreateMatrix3", cast(void**)& GdipCreateMatrix3 }, + { "GdipCreateMatrix3I", cast(void**)& GdipCreateMatrix3I }, + { "GdipDeleteMatrix", cast(void**)& GdipDeleteMatrix }, + { "GdipCloneMatrix", cast(void**)& GdipCloneMatrix }, + { "GdipGetMatrixElements", cast(void**)& GdipGetMatrixElements }, + { "GdipSetMatrixElements", cast(void**)& GdipSetMatrixElements }, + { "GdipInvertMatrix", cast(void**)& GdipInvertMatrix }, + { "GdipMultiplyMatrix", cast(void**)& GdipMultiplyMatrix }, + { "GdipScaleMatrix", cast(void**)& GdipScaleMatrix }, + { "GdipShearMatrix", cast(void**)& GdipShearMatrix }, + { "GdipRotateMatrix", cast(void**)& GdipRotateMatrix }, + { "GdipTranslateMatrix", cast(void**)& GdipTranslateMatrix }, + { "GdipIsMatrixIdentity", cast(void**)& GdipIsMatrixIdentity }, + { "GdipIsMatrixInvertible", cast(void**)& GdipIsMatrixInvertible }, + { "GdipTransformMatrixPoints", cast(void**)& GdipTransformMatrixPoints }, + { "GdipGetBrushType", cast(void**)& GdipGetBrushType }, + { "GdipCloneBrush", cast(void**)& GdipCloneBrush }, + { "GdipDeleteBrush", cast(void**)& GdipDeleteBrush }, + { "GdipCreateSolidFill", cast(void**)& GdipCreateSolidFill }, + { "GdipGetSolidFillColor", cast(void**)& GdipGetSolidFillColor }, + { "GdipSetSolidFillColor", cast(void**)& GdipSetSolidFillColor }, + { "GdipCreateTexture", cast(void**)& GdipCreateTexture }, + { "GdipCreateTexture2", cast(void**)& GdipCreateTexture2 }, + { "GdipCreateTexture2I", cast(void**)& GdipCreateTexture2I }, + { "GdipGetTextureImage", cast(void**)& GdipGetTextureImage }, + { "GdipGetTextureTransform", cast(void**)& GdipGetTextureTransform }, + { "GdipSetTextureTransform", cast(void**)& GdipSetTextureTransform }, + { "GdipGetTextureWrapMode", cast(void**)& GdipGetTextureWrapMode }, + { "GdipSetTextureWrapMode", cast(void**)& GdipSetTextureWrapMode }, + { "GdipCreateHatchBrush", cast(void**)& GdipCreateHatchBrush }, + { "GdipGetHatchStyle", cast(void**)& GdipGetHatchStyle }, + { "GdipGetHatchForegroundColor", cast(void**)& GdipGetHatchForegroundColor }, + { "GdipGetHatchBackgroundColor", cast(void**)& GdipGetHatchBackgroundColor }, + { "GdipCreateLineBrushI", cast(void**)& GdipCreateLineBrushI }, + { "GdipCreateLineBrush", cast(void**)& GdipCreateLineBrush }, + { "GdipCreateLineBrushFromRectI", cast(void**)& GdipCreateLineBrushFromRectI }, + { "GdipCreateLineBrushFromRect", cast(void**)& GdipCreateLineBrushFromRect }, + { "GdipCreateLineBrushFromRectWithAngleI", cast(void**)& GdipCreateLineBrushFromRectWithAngleI }, + { "GdipCreateLineBrushFromRectWithAngle", cast(void**)& GdipCreateLineBrushFromRectWithAngle }, + { "GdipGetLineBlendCount", cast(void**)& GdipGetLineBlendCount }, + { "GdipGetLineBlend", cast(void**)& GdipGetLineBlend }, + { "GdipSetLineBlend", cast(void**)& GdipSetLineBlend }, + { "GdipGetLinePresetBlendCount", cast(void**)& GdipGetLinePresetBlendCount }, + { "GdipGetLinePresetBlend", cast(void**)& GdipGetLinePresetBlend }, + { "GdipSetLinePresetBlend", cast(void**)& GdipSetLinePresetBlend }, + { "GdipGetLineWrapMode", cast(void**)& GdipGetLineWrapMode }, + { "GdipSetLineWrapMode", cast(void**)& GdipSetLineWrapMode }, + { "GdipGetLineRect", cast(void**)& GdipGetLineRect }, + { "GdipGetLineColors", cast(void**)& GdipGetLineColors }, + { "GdipSetLineColors", cast(void**)& GdipSetLineColors }, + { "GdipGetLineGammaCorrection", cast(void**)& GdipGetLineGammaCorrection }, + { "GdipSetLineGammaCorrection", cast(void**)& GdipSetLineGammaCorrection }, + { "GdipSetLineSigmaBlend", cast(void**)& GdipSetLineSigmaBlend }, + { "GdipSetLineLinearBlend", cast(void**)& GdipSetLineLinearBlend }, + { "GdipGetLineTransform", cast(void**)& GdipGetLineTransform }, + { "GdipSetLineTransform", cast(void**)& GdipSetLineTransform }, + { "GdipResetLineTransform", cast(void**)& GdipResetLineTransform }, + { "GdipMultiplyLineTransform", cast(void**)& GdipMultiplyLineTransform }, + { "GdipTranslateLineTransform", cast(void**)& GdipTranslateLineTransform }, + { "GdipScaleLineTransform", cast(void**)& GdipScaleLineTransform }, + { "GdipRotateLineTransform", cast(void**)& GdipRotateLineTransform }, + { "GdipCreatePen1", cast(void**)& GdipCreatePen1 }, + { "GdipCreatePen2", cast(void**)& GdipCreatePen2 }, + { "GdipDeletePen", cast(void**)& GdipDeletePen }, + { "GdipClonePen", cast(void**)& GdipClonePen }, + { "GdipSetPenLineCap197819", cast(void**)& GdipSetPenLineCap197819 }, + { "GdipGetPenStartCap", cast(void**)& GdipGetPenStartCap }, + { "GdipSetPenStartCap", cast(void**)& GdipSetPenStartCap }, + { "GdipGetPenEndCap", cast(void**)& GdipGetPenEndCap }, + { "GdipSetPenEndCap", cast(void**)& GdipSetPenEndCap }, + { "GdipGetPenDashCap197819", cast(void**)& GdipGetPenDashCap197819 }, + { "GdipSetPenDashCap197819", cast(void**)& GdipSetPenDashCap197819 }, + { "GdipGetPenLineJoin", cast(void**)& GdipGetPenLineJoin }, + { "GdipSetPenLineJoin", cast(void**)& GdipSetPenLineJoin }, + { "GdipGetPenMiterLimit", cast(void**)& GdipGetPenMiterLimit }, + { "GdipSetPenMiterLimit", cast(void**)& GdipSetPenMiterLimit }, + { "GdipGetPenMode", cast(void**)& GdipGetPenMode }, + { "GdipSetPenMode", cast(void**)& GdipSetPenMode }, + { "GdipGetPenTransform", cast(void**)& GdipGetPenTransform }, + { "GdipSetPenTransform", cast(void**)& GdipSetPenTransform }, + { "GdipResetPenTransform", cast(void**)& GdipResetPenTransform }, + { "GdipMultiplyPenTransform", cast(void**)& GdipMultiplyPenTransform }, + { "GdipTranslatePenTransform", cast(void**)& GdipTranslatePenTransform }, + { "GdipScalePenTransform", cast(void**)& GdipScalePenTransform }, + { "GdipRotatePenTransform", cast(void**)& GdipRotatePenTransform }, + { "GdipGetPenColor", cast(void**)& GdipGetPenColor }, + { "GdipSetPenColor", cast(void**)& GdipSetPenColor }, + { "GdipGetPenWidth", cast(void**)& GdipGetPenWidth }, + { "GdipSetPenWidth", cast(void**)& GdipSetPenWidth }, + { "GdipGetPenFillType", cast(void**)& GdipGetPenFillType }, + { "GdipGetPenBrushFill", cast(void**)& GdipGetPenBrushFill }, + { "GdipSetPenBrushFill", cast(void**)& GdipSetPenBrushFill }, + { "GdipGetPenDashStyle", cast(void**)& GdipGetPenDashStyle }, + { "GdipSetPenDashStyle", cast(void**)& GdipSetPenDashStyle }, + { "GdipGetPenDashOffset", cast(void**)& GdipGetPenDashOffset }, + { "GdipSetPenDashOffset", cast(void**)& GdipSetPenDashOffset }, + { "GdipGetPenDashCount", cast(void**)& GdipGetPenDashCount }, + { "GdipGetPenDashArray", cast(void**)& GdipGetPenDashArray }, + { "GdipSetPenDashArray", cast(void**)& GdipSetPenDashArray }, + { "GdipGetPenCompoundCount", cast(void**)& GdipGetPenCompoundCount }, + { "GdipGetPenCompoundArray", cast(void**)& GdipGetPenCompoundArray }, + { "GdipSetPenCompoundArray", cast(void**)& GdipSetPenCompoundArray }, + { "GdipCreateRegion", cast(void**)& GdipCreateRegion }, + { "GdipCreateRegionRect", cast(void**)& GdipCreateRegionRect }, + { "GdipCreateRegionRectI", cast(void**)& GdipCreateRegionRectI }, + { "GdipCreateRegionPath", cast(void**)& GdipCreateRegionPath }, + { "GdipCreateRegionHrgn", cast(void**)& GdipCreateRegionHrgn }, + { "GdipDeleteRegion", cast(void**)& GdipDeleteRegion }, + { "GdipSetInfinite", cast(void**)& GdipSetInfinite }, + { "GdipSetEmpty", cast(void**)& GdipSetEmpty }, + { "GdipCombineRegionRect", cast(void**)& GdipCombineRegionRect }, + { "GdipCombineRegionRectI", cast(void**)& GdipCombineRegionRectI }, + { "GdipCombineRegionPath", cast(void**)& GdipCombineRegionPath }, + { "GdipCombineRegionRegion", cast(void**)& GdipCombineRegionRegion }, + { "GdipTranslateRegion", cast(void**)& GdipTranslateRegion }, + { "GdipTranslateRegionI", cast(void**)& GdipTranslateRegionI }, + { "GdipTransformRegion", cast(void**)& GdipTransformRegion }, + { "GdipGetRegionBounds", cast(void**)& GdipGetRegionBounds }, + { "GdipGetRegionHRgn", cast(void**)& GdipGetRegionHRgn }, + { "GdipIsEmptyRegion", cast(void**)& GdipIsEmptyRegion }, + { "GdipIsInfiniteRegion", cast(void**)& GdipIsInfiniteRegion }, + { "GdipIsEqualRegion", cast(void**)& GdipIsEqualRegion }, + { "GdipIsVisibleRegionPoint", cast(void**)& GdipIsVisibleRegionPoint }, + { "GdipIsVisibleRegionRect", cast(void**)& GdipIsVisibleRegionRect }, + { "GdipIsVisibleRegionPointI", cast(void**)& GdipIsVisibleRegionPointI }, + { "GdipIsVisibleRegionRectI", cast(void**)& GdipIsVisibleRegionRectI }, + { "GdipGetRegionScansCount", cast(void**)& GdipGetRegionScansCount }, + { "GdipGetRegionScans", cast(void**)& GdipGetRegionScans }, + { "GdipDisposeImage", cast(void**)& GdipDisposeImage }, + { "GdipImageForceValidation", cast(void**)& GdipImageForceValidation }, + { "GdipLoadImageFromFileICM", cast(void**)& GdipLoadImageFromFileICM }, + { "GdipLoadImageFromFile", cast(void**)& GdipLoadImageFromFile }, + { "GdipGetImageEncodersSize", cast(void**)& GdipGetImageEncodersSize }, + { "GdipCloneImage", cast(void**)& GdipCloneImage }, + { "GdipGetImageType", cast(void**)& GdipGetImageType }, + { "GdipGetImageFlags", cast(void**)& GdipGetImageFlags }, + { "GdipGetImageWidth", cast(void**)& GdipGetImageWidth }, + { "GdipGetImageHeight", cast(void**)& GdipGetImageHeight }, + { "GdipGetImageHorizontalResolution", cast(void**)& GdipGetImageHorizontalResolution }, + { "GdipGetImageVerticalResolution", cast(void**)& GdipGetImageVerticalResolution }, + { "GdipGetPropertyCount", cast(void**)& GdipGetPropertyCount }, + { "GdipGetPropertyIdList", cast(void**)& GdipGetPropertyIdList }, + { "GdipGetImagePixelFormat", cast(void**)& GdipGetImagePixelFormat }, + { "GdipGetImageDimension", cast(void**)& GdipGetImageDimension }, + { "GdipGetImageThumbnail", cast(void**)& GdipGetImageThumbnail }, + { "GdipImageGetFrameDimensionsCount", cast(void**)& GdipImageGetFrameDimensionsCount }, + { "GdipImageRotateFlip", cast(void**)& GdipImageRotateFlip }, + { "GdipGetPropertyItemSize", cast(void**)& GdipGetPropertyItemSize }, + { "GdipGetPropertyItem", cast(void**)& GdipGetPropertyItem }, + { "GdipSetPropertyItem", cast(void**)& GdipSetPropertyItem }, + { "GdipRemovePropertyItem", cast(void**)& GdipRemovePropertyItem }, + { "GdipGetPropertySize", cast(void**)& GdipGetPropertySize }, + { "GdipGetAllPropertyItems", cast(void**)& GdipGetAllPropertyItems }, + { "GdipGetImageBounds", cast(void**)& GdipGetImageBounds }, + { "GdipGetImagePaletteSize", cast(void**)& GdipGetImagePaletteSize }, + { "GdipGetImagePalette", cast(void**)& GdipGetImagePalette }, + { "GdipSetImagePalette", cast(void**)& GdipSetImagePalette }, + { "GdipCreateBitmapFromScan0", cast(void**)& GdipCreateBitmapFromScan0 }, + { "GdipCreateBitmapFromHBITMAP", cast(void**)& GdipCreateBitmapFromHBITMAP }, + { "GdipCreateBitmapFromHICON", cast(void**)& GdipCreateBitmapFromHICON }, + { "GdipCreateBitmapFromFileICM", cast(void**)& GdipCreateBitmapFromFileICM }, + { "GdipCreateBitmapFromFile", cast(void**)& GdipCreateBitmapFromFile }, + { "GdipCreateBitmapFromGraphics", cast(void**)& GdipCreateBitmapFromGraphics }, + { "GdipCloneBitmapArea", cast(void**)& GdipCloneBitmapArea }, + { "GdipCloneBitmapAreaI", cast(void**)& GdipCloneBitmapAreaI }, + { "GdipBitmapGetPixel", cast(void**)& GdipBitmapGetPixel }, + { "GdipBitmapSetPixel", cast(void**)& GdipBitmapSetPixel }, + { "GdipBitmapLockBits", cast(void**)& GdipBitmapLockBits }, + { "GdipBitmapUnlockBits", cast(void**)& GdipBitmapUnlockBits }, + { "GdipBitmapSetResolution", cast(void**)& GdipBitmapSetResolution }, + { "GdipCreateHICONFromBitmap", cast(void**)& GdipCreateHICONFromBitmap }, + { "GdipCreateHBITMAPFromBitmap", cast(void**)& GdipCreateHBITMAPFromBitmap }, + { "GdipCreateImageAttributes", cast(void**)& GdipCreateImageAttributes }, + { "GdipDisposeImageAttributes", cast(void**)& GdipDisposeImageAttributes }, + { "GdipSetImageAttributesColorMatrix", cast(void**)& GdipSetImageAttributesColorMatrix }, + { "GdipSetImageAttributesThreshold", cast(void**)& GdipSetImageAttributesThreshold }, + { "GdipSetImageAttributesGamma", cast(void**)& GdipSetImageAttributesGamma }, + { "GdipSetImageAttributesNoOp", cast(void**)& GdipSetImageAttributesNoOp }, + { "GdipSetImageAttributesColorKeys", cast(void**)& GdipSetImageAttributesColorKeys }, + { "GdipSetImageAttributesOutputChannel", cast(void**)& GdipSetImageAttributesOutputChannel }, + { "GdipSetImageAttributesOutputChannelColorProfile", cast(void**)& GdipSetImageAttributesOutputChannelColorProfile }, + { "GdipSetImageAttributesWrapMode", cast(void**)& GdipSetImageAttributesWrapMode }, + { "GdipNewInstalledFontCollection", cast(void**)& GdipNewInstalledFontCollection }, + { "GdipNewPrivateFontCollection", cast(void**)& GdipNewPrivateFontCollection }, + { "GdipDeletePrivateFontCollection", cast(void**)& GdipDeletePrivateFontCollection }, + { "GdipPrivateAddFontFile", cast(void**)& GdipPrivateAddFontFile }, + { "GdipPrivateAddMemoryFont", cast(void**)& GdipPrivateAddMemoryFont }, + { "GdipGetFontCollectionFamilyCount", cast(void**)& GdipGetFontCollectionFamilyCount }, + { "GdipGetFontCollectionFamilyList", cast(void**)& GdipGetFontCollectionFamilyList }, + { "GdipCreateFontFamilyFromName", cast(void**)& GdipCreateFontFamilyFromName }, + { "GdipDeleteFontFamily", cast(void**)& GdipDeleteFontFamily }, + { "GdipCloneFontFamily", cast(void**)& GdipCloneFontFamily }, + { "GdipGetFamilyName", cast(void**)& GdipGetFamilyName }, + { "GdipGetGenericFontFamilyMonospace", cast(void**)& GdipGetGenericFontFamilyMonospace }, + { "GdipGetGenericFontFamilySerif", cast(void**)& GdipGetGenericFontFamilySerif }, + { "GdipGetGenericFontFamilySansSerif", cast(void**)& GdipGetGenericFontFamilySansSerif }, + { "GdipGetEmHeight", cast(void**)& GdipGetEmHeight }, + { "GdipGetCellAscent", cast(void**)& GdipGetCellAscent }, + { "GdipGetCellDescent", cast(void**)& GdipGetCellDescent }, + { "GdipGetLineSpacing", cast(void**)& GdipGetLineSpacing }, + { "GdipIsStyleAvailable", cast(void**)& GdipIsStyleAvailable }, + { "GdipCreateFont", cast(void**)& GdipCreateFont }, + { "GdipCreateFontFromDC", cast(void**)& GdipCreateFontFromDC }, + { "GdipDeleteFont", cast(void**)& GdipDeleteFont }, + { "GdipCloneFont", cast(void**)& GdipCloneFont }, + { "GdipGetFontSize", cast(void**)& GdipGetFontSize }, + { "GdipGetFontHeight", cast(void**)& GdipGetFontHeight }, + { "GdipGetFontHeightGivenDPI", cast(void**)& GdipGetFontHeightGivenDPI }, + { "GdipGetFontStyle", cast(void**)& GdipGetFontStyle }, + { "GdipGetFontUnit", cast(void**)& GdipGetFontUnit }, + { "GdipGetFamily", cast(void**)& GdipGetFamily }, + { "GdipCreateFontFromLogfontW", cast(void**)& GdipCreateFontFromLogfontW }, + { "GdipCreateFontFromLogfontA", cast(void**)& GdipCreateFontFromLogfontA }, + { "GdipGetLogFontW", cast(void**)& GdipGetLogFontW }, + { "GdipCreateStringFormat", cast(void**)& GdipCreateStringFormat }, + { "GdipDeleteStringFormat", cast(void**)& GdipDeleteStringFormat }, + { "GdipGetStringFormatFlags", cast(void**)& GdipGetStringFormatFlags }, + { "GdipSetStringFormatFlags", cast(void**)& GdipSetStringFormatFlags }, + { "GdipGetStringFormatAlign", cast(void**)& GdipGetStringFormatAlign }, + { "GdipSetStringFormatAlign", cast(void**)& GdipSetStringFormatAlign }, + { "GdipGetStringFormatLineAlign", cast(void**)& GdipGetStringFormatLineAlign }, + { "GdipSetStringFormatLineAlign", cast(void**)& GdipSetStringFormatLineAlign }, + { "GdipGetStringFormatTrimming", cast(void**)& GdipGetStringFormatTrimming }, + { "GdipSetStringFormatTrimming", cast(void**)& GdipSetStringFormatTrimming }, + { "GdipCreatePath", cast(void**)& GdipCreatePath }, + { "GdipCreatePath2", cast(void**)& GdipCreatePath2 }, + { "GdipCreatePath2I", cast(void**)& GdipCreatePath2I }, + { "GdipDeletePath", cast(void**)& GdipDeletePath }, + { "GdipClonePath", cast(void**)& GdipClonePath }, + { "GdipResetPath", cast(void**)& GdipResetPath }, + { "GdipGetPathFillMode", cast(void**)& GdipGetPathFillMode }, + { "GdipSetPathFillMode", cast(void**)& GdipSetPathFillMode }, + { "GdipStartPathFigure", cast(void**)& GdipStartPathFigure }, + { "GdipClosePathFigure", cast(void**)& GdipClosePathFigure }, + { "GdipClosePathFigures", cast(void**)& GdipClosePathFigures }, + { "GdipSetPathMarker", cast(void**)& GdipSetPathMarker }, + { "GdipClearPathMarkers", cast(void**)& GdipClearPathMarkers }, + { "GdipReversePath", cast(void**)& GdipReversePath }, + { "GdipGetPathLastPoint", cast(void**)& GdipGetPathLastPoint }, + { "GdipAddPathLine", cast(void**)& GdipAddPathLine }, + { "GdipAddPathLineI", cast(void**)& GdipAddPathLineI }, + { "GdipAddPathLine2", cast(void**)& GdipAddPathLine2 }, + { "GdipAddPathLine2I", cast(void**)& GdipAddPathLine2I }, + { "GdipAddPathArc", cast(void**)& GdipAddPathArc }, + { "GdipAddPathArcI", cast(void**)& GdipAddPathArcI }, + { "GdipAddPathBezier", cast(void**)& GdipAddPathBezier }, + { "GdipAddPathBezierI", cast(void**)& GdipAddPathBezierI }, + { "GdipAddPathBeziers", cast(void**)& GdipAddPathBeziers }, + { "GdipAddPathBeziersI", cast(void**)& GdipAddPathBeziersI }, + { "GdipAddPathCurve", cast(void**)& GdipAddPathCurve }, + { "GdipAddPathCurveI", cast(void**)& GdipAddPathCurveI }, + { "GdipAddPathCurve2", cast(void**)& GdipAddPathCurve2 }, + { "GdipAddPathCurve2I", cast(void**)& GdipAddPathCurve2I }, + { "GdipAddPathCurve3", cast(void**)& GdipAddPathCurve3 }, + { "GdipAddPathCurve3I", cast(void**)& GdipAddPathCurve3I }, + { "GdipAddPathClosedCurve", cast(void**)& GdipAddPathClosedCurve }, + { "GdipAddPathClosedCurveI", cast(void**)& GdipAddPathClosedCurveI }, + { "GdipAddPathClosedCurve2", cast(void**)& GdipAddPathClosedCurve2 }, + { "GdipAddPathClosedCurve2I", cast(void**)& GdipAddPathClosedCurve2I }, + { "GdipAddPathRectangle", cast(void**)& GdipAddPathRectangle }, + { "GdipAddPathRectangleI", cast(void**)& GdipAddPathRectangleI }, + { "GdipAddPathRectangles", cast(void**)& GdipAddPathRectangles }, + { "GdipAddPathRectanglesI", cast(void**)& GdipAddPathRectanglesI }, + { "GdipAddPathEllipse", cast(void**)& GdipAddPathEllipse }, + { "GdipAddPathEllipseI", cast(void**)& GdipAddPathEllipseI }, + { "GdipAddPathPie", cast(void**)& GdipAddPathPie }, + { "GdipAddPathPieI", cast(void**)& GdipAddPathPieI }, + { "GdipAddPathPolygon", cast(void**)& GdipAddPathPolygon }, + { "GdipAddPathPolygonI", cast(void**)& GdipAddPathPolygonI }, + { "GdipAddPathPath", cast(void**)& GdipAddPathPath }, + { "GdipAddPathString", cast(void**)& GdipAddPathString }, + { "GdipAddPathStringI", cast(void**)& GdipAddPathStringI }, + { "GdipTransformPath", cast(void**)& GdipTransformPath }, + { "GdipGetPathWorldBounds", cast(void**)& GdipGetPathWorldBounds }, + { "GdipFlattenPath", cast(void**)& GdipFlattenPath }, + { "GdipWidenPath", cast(void**)& GdipWidenPath }, + { "GdipWindingModeOutline", cast(void**)& GdipWindingModeOutline }, + { "GdipWarpPath", cast(void**)& GdipWarpPath }, + { "GdipGetPointCount", cast(void**)& GdipGetPointCount }, + { "GdipGetPathTypes", cast(void**)& GdipGetPathTypes }, + { "GdipGetPathPoints", cast(void**)& GdipGetPathPoints }, + { "GdipIsVisiblePathPoint", cast(void**)& GdipIsVisiblePathPoint }, + { "GdipIsVisiblePathPointI", cast(void**)& GdipIsVisiblePathPointI }, + { "GdipIsOutlineVisiblePathPoint", cast(void**)& GdipIsOutlineVisiblePathPoint }, + { "GdipIsOutlineVisiblePathPointI", cast(void**)& GdipIsOutlineVisiblePathPointI }, + { "GdipDrawPath", cast(void**)& GdipDrawPath }, + { "GdipCreatePathIter", cast(void**)& GdipCreatePathIter }, + { "GdipDeletePathIter", cast(void**)& GdipDeletePathIter }, + { "GdipPathIterNextSubpath", cast(void**)& GdipPathIterNextSubpath }, + { "GdipPathIterNextSubpathPath", cast(void**)& GdipPathIterNextSubpathPath }, + { "GdipPathIterNextPathType", cast(void**)& GdipPathIterNextPathType }, + { "GdipPathIterNextMarker", cast(void**)& GdipPathIterNextMarker }, + { "GdipPathIterNextMarkerPath", cast(void**)& GdipPathIterNextMarkerPath }, + { "GdipPathIterGetCount", cast(void**)& GdipPathIterGetCount }, + { "GdipPathIterGetSubpathCount", cast(void**)& GdipPathIterGetSubpathCount }, + { "GdipPathIterHasCurve", cast(void**)& GdipPathIterHasCurve }, + { "GdipPathIterRewind", cast(void**)& GdipPathIterRewind }, + { "GdipPathIterEnumerate", cast(void**)& GdipPathIterEnumerate }, + { "GdipPathIterCopyData", cast(void**)& GdipPathIterCopyData }, + { "GdipCreatePathGradient", cast(void**)& GdipCreatePathGradient }, + { "GdipCreatePathGradientI", cast(void**)& GdipCreatePathGradientI }, + { "GdipCreatePathGradientFromPath", cast(void**)& GdipCreatePathGradientFromPath }, + { "GdipGetPathGradientCenterColor", cast(void**)& GdipGetPathGradientCenterColor }, + { "GdipSetPathGradientCenterColor", cast(void**)& GdipSetPathGradientCenterColor }, + { "GdipGetPathGradientSurroundColorCount", cast(void**)& GdipGetPathGradientSurroundColorCount }, + { "GdipGetPathGradientSurroundColorsWithCount", cast(void**)& GdipGetPathGradientSurroundColorsWithCount }, + { "GdipSetPathGradientSurroundColorsWithCount", cast(void**)& GdipSetPathGradientSurroundColorsWithCount }, + { "GdipGetPathGradientCenterPoint", cast(void**)& GdipGetPathGradientCenterPoint }, + { "GdipSetPathGradientCenterPoint", cast(void**)& GdipSetPathGradientCenterPoint }, + { "GdipGetPathGradientRect", cast(void**)& GdipGetPathGradientRect }, + { "GdipGetPathGradientBlendCount", cast(void**)& GdipGetPathGradientBlendCount }, + { "GdipGetPathGradientBlend", cast(void**)& GdipGetPathGradientBlend }, + { "GdipSetPathGradientBlend", cast(void**)& GdipSetPathGradientBlend }, + { "GdipGetPathGradientPresetBlendCount", cast(void**)& GdipGetPathGradientPresetBlendCount }, + { "GdipGetPathGradientPresetBlend", cast(void**)& GdipGetPathGradientPresetBlend }, + { "GdipSetPathGradientPresetBlend", cast(void**)& GdipSetPathGradientPresetBlend }, + { "GdipSetPathGradientSigmaBlend", cast(void**)& GdipSetPathGradientSigmaBlend }, + { "GdipSetPathGradientLinearBlend", cast(void**)& GdipSetPathGradientLinearBlend }, + { "GdipGetPathGradientTransform", cast(void**)& GdipGetPathGradientTransform }, + { "GdipSetPathGradientTransform", cast(void**)& GdipSetPathGradientTransform }, + { "GdipResetPathGradientTransform", cast(void**)& GdipResetPathGradientTransform }, + { "GdipMultiplyPathGradientTransform", cast(void**)& GdipMultiplyPathGradientTransform }, + { "GdipRotatePathGradientTransform", cast(void**)& GdipRotatePathGradientTransform }, + { "GdipTranslatePathGradientTransform", cast(void**)& GdipTranslatePathGradientTransform }, + { "GdipScalePathGradientTransform", cast(void**)& GdipScalePathGradientTransform }, + { "GdipGetPathGradientFocusScales", cast(void**)& GdipGetPathGradientFocusScales }, + { "GdipSetPathGradientFocusScales", cast(void**)& GdipSetPathGradientFocusScales }, + { "GdipGetPathGradientWrapMode", cast(void**)& GdipGetPathGradientWrapMode }, + { "GdipSetPathGradientWrapMode", cast(void**)& GdipSetPathGradientWrapMode }, + { "GdipResetTextureTransform", cast(void**)& GdipResetTextureTransform }, + { "GdipScaleTextureTransform", cast(void**)& GdipScaleTextureTransform }, + { "GdipTranslateTextureTransform", cast(void**)& GdipTranslateTextureTransform }, + { "GdipStringFormatGetGenericDefault", cast(void**)& GdipStringFormatGetGenericDefault }, + { "GdipStringFormatGetGenericTypographic", cast(void**)& GdipStringFormatGetGenericTypographic }, + { "GdipSetStringFormatHotkeyPrefix", cast(void**)& GdipSetStringFormatHotkeyPrefix }, + { "GdipSetStringFormatTabStops", cast(void**)& GdipSetStringFormatTabStops }, +]; + + +void loadLib_Gdip(){ + if (auto lib = SharedLib.load(`gdiplus.dll`)) { + foreach( inout s; symbols ){ + *s.symbol = lib.getSymbol( s.name.ptr ); + if( s.symbol is null ){ + Trace.formatln("gdiplus.dll: Symbol '{}' not found", s.name ); + } + } + } else { + Trace.formatln("Could not load the library gdiplus.dll"); + } +} + +} + +/****************************************************************************** + +******************************************************************************/ +/+ +private uint initToken; +private bool isShutdown; + +public int startup() { + static GdiplusStartupInput input = { 1, null, 0, 0 }; + static GdiplusStartupOutput output; + + return GdiplusStartup(initToken, input, output); +} + +public void shutdown() { + // GC.collect(); + isShutdown = true; + + GdiplusShutdown(initToken); +} ++/
--- a/dwt/internal/ole/win32/COM.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/ole/win32/COM.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,879 +1,879 @@ -/******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Port to the D programming language: - * Shawn Liu - * Frank Benoit <benoit@tionex.de> - *******************************************************************************/ -module dwt.internal.ole.win32.COM; - - -public import dwt.internal.ole.win32.COMTYPES; -private import dwt.internal.ole.win32.OAIDL; -private import dwt.internal.ole.win32.OBJIDL; -private import dwt.internal.ole.win32.OLEIDL; -private import dwt.internal.ole.win32.DOCOBJ; -private import dwt.internal.ole.win32.EXDISP; -private import dwt.internal.ole.win32.MSHTMHST; -private import dwt.internal.ole.win32.extras; -private import dwt.internal.ole.win32.ifs; -private import dwt.internal.ole.win32.COMAPI; -import dwt.dwthelper.utils; - -private alias dwt.internal.ole.win32.COMAPI COMAPI; - - -public import dwt.internal.win32.OS; - -template IIDFromStringT(String g) { - static if (g.length == 38) - const GUID IIDFromStringT = IIDFromStringT!(g[1..$-1]); - else static if (g.length == 36) - const GUID IIDFromStringT = { - mixin("0x" ~ g[0..8]), - mixin("0x" ~ g[9..13]), - mixin("0x" ~ g[14..18]), - [ - mixin("0x" ~ g[19..21]), - mixin("0x" ~ g[21..23]), - mixin("0x" ~ g[24..26]), - mixin("0x" ~ g[26..28]), - mixin("0x" ~ g[28..30]), - mixin("0x" ~ g[30..32]), - mixin("0x" ~ g[32..34]), - mixin("0x" ~ g[34..36]) ] }; - else - static assert(false, "Incorrect format for GUID. "~g); -} - - -public class COM : OS { - - //private import std.c.windows.com; - - // all the GUID - // GUIDs for Home Page Browser - - /** GUID Constants */ - public static const GUID IIDJavaBeansBridge = IIDFromStringT!("{8AD9C840-044E-11D1-B3E9-00805F499D93}"); //$NON-NLS-1$ - public static const GUID IIDShockwaveActiveXControl = IIDFromStringT!("{166B1BCA-3F9C-11CF-8075-444553540000}"); //$NON-NLS-1$ - public static const GUID IIDIEditorSiteTime = IIDFromStringT!("{6BD2AEFE-7876-45e6-A6E7-3BFCDF6540AA}"); //$NON-NLS-1$ - public static const GUID IIDIEditorSiteProperty = IIDFromStringT!("{D381A1F4-2326-4f3c-AFB9-B7537DB9E238}"); //$NON-NLS-1$ - public static const GUID IIDIEditorBaseProperty = IIDFromStringT!("{61E55B0B-2647-47c4-8C89-E736EF15D636}"); //$NON-NLS-1$ - public static const GUID IIDIEditorSite = IIDFromStringT!("{CDD88AB9-B01D-426E-B0F0-30973E9A074B}"); //$NON-NLS-1$ - public static const GUID IIDIEditorService = IIDFromStringT!("{BEE283FE-7B42-4FF3-8232-0F07D43ABCF1}"); //$NON-NLS-1$ - public static const GUID IIDIEditorManager = IIDFromStringT!("{EFDE08C4-BE87-4B1A-BF84-15FC30207180}"); //$NON-NLS-1$ - public static const GUID IIDIAccessible = IIDFromStringT!("{618736E0-3C3D-11CF-810C-00AA00389B71}"); //$NON-NLS-1$ - //public static const GUID IIDIAccessibleHandler = IIDFromStringT!("{03022430-ABC4-11D0-BDE2-00AA001A1953}"); //$NON-NLS-1$ - //public static const GUID IIDIAccessor = IIDFromStringT!("{0C733A8C-2A1C-11CE-ADE5-00AA0044773D}"); //$NON-NLS-1$ - public static const GUID IIDIAdviseSink = IIDFromStringT!("{0000010F-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIAdviseSink2 = IIDFromStringT!("{00000125-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIBindCtx = IIDFromStringT!("{0000000E-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIClassFactory = IIDFromStringT!("{00000001-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIClassFactory2 = IIDFromStringT!("{B196B28F-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - public static const GUID IIDIConnectionPoint = IIDFromStringT!("{B196B286-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - public static const GUID IIDIConnectionPointContainer = IIDFromStringT!("{B196B284-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - //public static const GUID IIDICreateErrorInfo = IIDFromStringT!("{22F03340-547D-101B-8E65-08002B2BD119}"); //$NON-NLS-1$ - //public static const GUID IIDICreateTypeInfo = IIDFromStringT!("{00020405-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDICreateTypeLib = IIDFromStringT!("{00020406-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIDataAdviseHolder = IIDFromStringT!("{00000110-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIDataObject = IIDFromStringT!("{0000010E-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIDispatch = IIDFromStringT!("{00020400-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIDocHostUIHandler = IIDFromStringT!("{BD3F23C0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$ - public static const GUID IIDIDocHostShowUI = IIDFromStringT!("{C4D244B0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$ - public static const GUID IIDIDropSource = IIDFromStringT!("{00000121-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIDropTarget = IIDFromStringT!("{00000122-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIEnumConnectionPoints = IIDFromStringT!("{B196B285-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - //public static const GUID IIDIEnumConnections = IIDFromStringT!("{B196B287-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - public static const GUID IIDIEnumFORMATETC = IIDFromStringT!("{00000103-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIEnumMoniker = IIDFromStringT!("{00000102-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIEnumOLEVERB = IIDFromStringT!("{00000104-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIEnumSTATDATA = IIDFromStringT!("{00000105-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIEnumSTATSTG = IIDFromStringT!("{0000000D-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIEnumString = IIDFromStringT!("{00000101-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIEnumUnknown = IIDFromStringT!("{00000100-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIEnumVARIANT = IIDFromStringT!("{00020404-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIErrorInfo = IIDFromStringT!("{1CF2B120-547D-101B-8E65-08002B2BD119}"); //$NON-NLS-1$ - //public static const GUID IIDIErrorLog = IIDFromStringT!("{3127CA40-446E-11CE-8135-00AA004BB851}"); //$NON-NLS-1$ - //public static const GUID IIDIExternalConnection = IIDFromStringT!("{00000019-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIFont = IIDFromStringT!("{BEF6E002-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$ - //public static const GUID IIDIFontDisp = IIDFromStringT!("{BEF6E003-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$ - public static const /*GUID*/ String IIDIHTMLDocumentEvents2 = /*IIDFromStringT!(*/"{3050F613-98B5-11CF-BB82-00AA00BDCE0B}"/*)*/; - public static const GUID IIDIInternetSecurityManager = IIDFromStringT!("{79eac9ee-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$ - //public static const GUID IIDILockBytes = IIDFromStringT!("{0000000A-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIMalloc = IIDFromStringT!("{00000002-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIMallocSpy = IIDFromStringT!("{0000001D-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIMarshal = IIDFromStringT!("{00000003-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIMessageFilter = IIDFromStringT!("{00000016-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIMoniker = IIDFromStringT!("{0000000F-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIOleAdviseHolder = IIDFromStringT!("{00000111-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIOleCache = IIDFromStringT!("{0000011E-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIOleCache2 = IIDFromStringT!("{00000128-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIOleCacheControl = IIDFromStringT!("{00000129-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIOleClientSite = IIDFromStringT!("{00000118-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIOleCommandTarget = IIDFromStringT!("{B722BCCB-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$ - public static const GUID IIDIOleContainer = IIDFromStringT!("{0000011B-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIOleControl = IIDFromStringT!("{B196B288-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - public static const GUID IIDIOleControlSite = IIDFromStringT!("{B196B289-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - public static const GUID IIDIOleDocument = IIDFromStringT!("{B722BCC5-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$ - public static const GUID IIDIOleDocumentSite = IIDFromStringT!("{B722BCC7-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$ - public static const GUID IIDIOleInPlaceActiveObject = IIDFromStringT!("{00000117-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIOleInPlaceFrame = IIDFromStringT!("{00000116-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIOleInPlaceObject = IIDFromStringT!("{00000113-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIOleInPlaceSite = IIDFromStringT!("{00000119-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIOleInPlaceUIWindow = IIDFromStringT!("{00000115-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIOleItemContainer = IIDFromStringT!("{0000011C-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIOleLink = IIDFromStringT!("{0000011D-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIOleObject = IIDFromStringT!("{00000112-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIOleWindow = IIDFromStringT!("{00000114-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIParseDisplayName = IIDFromStringT!("{0000011A-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIPerPropertyBrowsing = IIDFromStringT!("{376BD3AA-3845-101B-84ED-08002B2EC713}"); //$NON-NLS-1$ - public static const GUID IIDIPersist = IIDFromStringT!("{0000010C-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIPersistFile = IIDFromStringT!("{0000010B-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIPersistMemory = IIDFromStringT!("{BD1AE5E0-A6AE-11CE-BD37-504200C10000}"); //$NON-NLS-1$ - //public static const GUID IIDIPersistPropertyBag = IIDFromStringT!("{37D84F60-42CB-11CE-8135-00AA004BB851}"); //$NON-NLS-1$ - public static const GUID IIDIPersistStorage = IIDFromStringT!("{0000010A-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIPersistStream = IIDFromStringT!("{00000109-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIPersistStreamInit = IIDFromStringT!("{7FD52380-4E07-101B-AE2D-08002B2EC713}"); //$NON-NLS-1$ - //public static const GUID IIDIPicture = IIDFromStringT!("{7BF80980-BF32-101A-8BBB-00AA00300CAB}"); //$NON-NLS-1$ - //public static const GUID IIDIPictureDisp = IIDFromStringT!("{7BF80981-BF32-101A-8BBB-00AA00300CAB}"); //$NON-NLS-1$ - //public static const GUID IIDIPropertyBag = IIDFromStringT!("{55272A00-42CB-11CE-8135-00AA004BB851}"); //$NON-NLS-1$ - public static const GUID IIDIPropertyNotifySink = IIDFromStringT!("{9BFBBC02-EFF1-101A-84ED-00AA00341D07}"); //$NON-NLS-1$ - //public static const GUID IIDIPropertyPage = IIDFromStringT!("{B196B28D-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - //public static const GUID IIDIPropertyPage2 = IIDFromStringT!("{01E44665-24AC-101B-84ED-08002B2EC713}"); //$NON-NLS-1$ - //public static const GUID IIDIPropertyPageSite = IIDFromStringT!("{B196B28C-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - public static const GUID IIDIProvideClassInfo = IIDFromStringT!("{B196B283-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - public static const GUID IIDIProvideClassInfo2 = IIDFromStringT!("{A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851}"); //$NON-NLS-1$ - //public static const GUID IIDIPSFactoryBuffer = IIDFromStringT!("{D5F569D0-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$ - //public static const GUID IIDIRootStorage = IIDFromStringT!("{00000012-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIROTData = IIDFromStringT!("{F29F6BC0-5021-11CE-AA15-00006901293F}"); //$NON-NLS-1$ - //public static const GUID IIDIRpcChannelBuffer = IIDFromStringT!("{D5F56B60-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$ - //public static const GUID IIDIRpcProxyBuffer = IIDFromStringT!("{D5F56A34-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$ - //public static const GUID IIDIRpcStubBuffer = IIDFromStringT!("{D5F56AFC-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$ - //public static const GUID IIDIRunnableObject = IIDFromStringT!("{00000126-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIRunningObjectTable = IIDFromStringT!("{00000010-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDISimpleFrameSite = IIDFromStringT!("{742B0E01-14E6-101B-914E-00AA00300CAB}"); //$NON-NLS-1$ - public static const GUID IIDIServiceProvider = IIDFromStringT!("{6d5140c1-7436-11ce-8034-00aa006009fa}"); //$NON-NLS-1$ - public static const GUID IIDISpecifyPropertyPages = IIDFromStringT!("{B196B28B-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ - //public static const GUID IIDIStdMarshalInfo = IIDFromStringT!("{00000018-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIStorage = IIDFromStringT!("{0000000B-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIStream = IIDFromStringT!("{0000000C-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDISupportErrorInfo = IIDFromStringT!("{DF0B3D60-548F-101B-8E65-08002B2BD119}"); //$NON-NLS-1$ - //public static const GUID IIDITypeComp = IIDFromStringT!("{00020403-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDITypeLib = IIDFromStringT!("{00020402-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIUnknown = IIDFromStringT!("{00000000-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - //public static const GUID IIDIViewObject = IIDFromStringT!("{0000010D-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID IIDIViewObject2 = IIDFromStringT!("{00000127-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - public static const GUID CGID_DocHostCommandHandler = IIDFromStringT!("{f38bc242-b950-11d1-8918-00c04fc2c836}"); //$NON-NLS-1$ - public static const GUID CGID_Explorer = IIDFromStringT!("{000214D0-0000-0000-C000-000000000046}"); //$NON-NLS-1$ - - - - /* Constants */ - //public static const int ADVF_DATAONSTOP = 64; - //public static const int ADVF_NODATA = 1; - //public static const int ADVF_ONLYONCE = 2; - //public static const int ADVF_PRIMEFIRST = 4; - //public static const int ADVFCACHE_FORCEBUILTIN = 16; - //public static const int ADVFCACHE_NOHANDLER = 8; - //public static const int ADVFCACHE_ONSAVE = 32; - public static const int CF_TEXT = 1; - public static const int CF_BITMAP = 2; - public static const int CF_METAFILEPICT = 3; - public static const int CF_SYLK = 4; - public static const int CF_DIF = 5; - public static const int CF_TIFF = 6; - public static const int CF_OEMTEXT = 7; - public static const int CF_DIB = 8; - public static const int CF_PALETTE = 9; - public static const int CF_PENDATA = 10; - public static const int CF_RIFF = 11; - public static const int CF_WAVE = 12; - public static const int CF_UNICODETEXT = 13; - public static const int CF_ENHMETAFILE = 14; - public static const int CF_HDROP = 15; - public static const int CF_LOCALE = 16; - public static const int CF_MAX = 17; - public static const int CLSCTX_INPROC_HANDLER = 2; - public static const int CLSCTX_INPROC_SERVER = 1; - public static const int CLSCTX_LOCAL_SERVER = 4; - public static const int CLSCTX_REMOTE_SERVER = 16; - public static const int CO_E_CLASSSTRING = -2147221005; - //public static const int COINIT_APARTMENTTHREADED = 2; - //public static const int COINIT_DISABLE_OLE1DDE = 4; - //public static const int COINIT_MULTITHREADED = 0; - //public static const int COINIT_SPEED_OVER_MEMORY = 8; - public static const int DATADIR_GET = 1; - public static const int DATADIR_SET = 2; - public static const int DISP_E_EXCEPTION = 0x80020009; - public static const int DISP_E_MEMBERNOTFOUND = -2147352573; - public static const int DISP_E_UNKNOWNINTERFACE = 0x80020001; - //public static const int DISPID_AMBIENT_APPEARANCE = -716; - //public static const int DISPID_AMBIENT_AUTOCLIP = -715; - public static const int DISPID_AMBIENT_BACKCOLOR = -701; - //public static const int DISPID_AMBIENT_CHARSET = -727; - //public static const int DISPID_AMBIENT_CODEPAGE = -725; - //public static const int DISPID_AMBIENT_DISPLAYASDEFAULT = -713; - //public static const int DISPID_AMBIENT_DISPLAYNAME = -702; - public static const int DISPID_AMBIENT_FONT = -703; - public static const int DISPID_AMBIENT_FORECOLOR = -704; - public static const int DISPID_AMBIENT_LOCALEID = -705; - public static const int DISPID_AMBIENT_MESSAGEREFLECT = -706; - public static const int DISPID_AMBIENT_OFFLINEIFNOTCONNECTED = -5501; - //public static const int DISPID_AMBIENT_PALETTE = -726; - //public static const int DISPID_AMBIENT_RIGHTTOLEFT = -732; - //public static const int DISPID_AMBIENT_SCALEUNITS = -707; - public static const int DISPID_AMBIENT_SHOWGRABHANDLES = -711; - public static const int DISPID_AMBIENT_SHOWHATCHING = -712; - public static const int DISPID_AMBIENT_SILENT = -5502; - public static const int DISPID_AMBIENT_SUPPORTSMNEMONICS = -714; - //public static const int DISPID_AMBIENT_TEXTALIGN = -708; - //public static const int DISPID_AMBIENT_TOPTOBOTTOM = -733; - //public static const int DISPID_AMBIENT_TRANSFERPRIORITY = -728; - public static const int DISPID_AMBIENT_UIDEAD = -710; - public static const int DISPID_AMBIENT_USERMODE = -709; - public static const int DISPID_BACKCOLOR = -501; - public static const int DISPID_FONT = -512; - public static const int DISPID_FONT_BOLD = 3; - public static const int DISPID_FONT_CHARSET = 8; - public static const int DISPID_FONT_ITALIC = 4; - public static const int DISPID_FONT_NAME = 0; - public static const int DISPID_FONT_SIZE = 2; - public static const int DISPID_FONT_STRIKE = 6; - public static const int DISPID_FONT_UNDER = 5; - public static const int DISPID_FONT_WEIGHT = 7; - public static const int DISPID_FORECOLOR = -513; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK = 0xFFFFFDA7; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONDRAGEND = 0x80010015; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART = 0x8001000B; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN = 0xFFFFFDA6; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS = 0xFFFFFDA5; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONKEYUP = 0xFFFFFDA4; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT = 0x80010009; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER = 0x80010008; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE = 0xFFFFFDA2; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN = 0xFFFFFDA3; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP = 0xFFFFFDA1; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONSTOP = 0x00000402; - public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL = 1033; - - //public static const int DISPID_READYSTATE = -525; - //public static const int DISPID_READYSTATECHANGE = -609; - public static const int DRAGDROP_S_DROP = 0x00040100; - public static const int DRAGDROP_S_CANCEL = 0x00040101; - public static const int DRAGDROP_S_USEDEFAULTCURSORS = 0x00040102; - public static const int DROPEFFECT_NONE = 0; - public static const int DROPEFFECT_COPY = 1; - public static const int DROPEFFECT_MOVE = 2; - public static const int DROPEFFECT_LINK = 4; - public static const int DROPEFFECT_SCROLL = 0x80000000; - public static final int DSH_ALLOWDROPDESCRIPTIONTEXT = 0x1; - public static const int DV_E_FORMATETC = -2147221404; - public static const int DV_E_STGMEDIUM = -2147221402; - public static const int DV_E_TYMED = -2147221399; - public static const int DVASPECT_CONTENT = 1; - //public static const int DVASPECT_DOCPRINT = 8; - //public static const int DVASPECT_ICON = 4; - //public static const int DVASPECT_THUMBNAIL = 2; - public static const int E_FAIL = -2147467259; - public static const int E_INVALIDARG = -2147024809; - public static const int E_NOINTERFACE = -2147467262; - public static const int E_NOTIMPL = -2147467263; - public static const int E_NOTSUPPORTED = 0x80040100; - //public static const int E_NOTLICENSED = -2147221230; - public static const int E_OUTOFMEMORY = -2147024882; - //public static const int E_POINTER = -2147467261; - public static const int GMEM_FIXED = 0; - //public static const int GMEM_MOVABLE = 2; - //public static const int GMEM_NODISCARD = 32; - public static const int GMEM_ZEROINIT = 64; - public static const int GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1; - public static const int IMPLTYPEFLAG_FDEFAULT = 1; - //public static const int IMPLTYPEFLAG_FDEFAULTVTABLE = 2048; - public static const int IMPLTYPEFLAG_FRESTRICTED = 4; - public static const int IMPLTYPEFLAG_FSOURCE = 2; - public static const int LOCALE_SYSTEM_DEFAULT = 1024; - public static const int LOCALE_USER_DEFAULT = 2048; - //public static const int MEMCTX_TASK = 1; - //public static const int OLEACTIVATEAUTO = 3; - //public static const int OLEACTIVATEDOUBLECLICK = 2; - //public static const int OLEACTIVATEGETFOCUS = 1; - //public static const int OLEACTIVATEMANUAL = 0; - //public static const int OLEAUTOMATIC = 0; - //public static const int OLECHANGED = 0; - public static const int OLECLOSE_NOSAVE = 1; - //public static const int OLECLOSE_PROMPTSAVE = 2; - public static const int OLECLOSE_SAVEIFDIRTY = 0; - //public static const int OLECLOSED = 2; - //public static const int OLECONTF_EMBEDDINGS = 1; - //public static const int OLECONTF_LINKS = 2; - //public static const int OLECONTF_ONLYIFRUNNING = 16; - //public static const int OLECONTF_ONLYUSER = 8; - //public static const int OLECONTF_OTHERS = 4; - //public static const int OLEDEACTIVATEMANUAL = 1; - //public static const int OLEDEACTIVATEONLOSEFOCUS = 0; - //public static const int OLEDECBORDER = 1; - //public static const int OLEDECBORDERANDNIBS = 3; - //public static const int OLEDECNIBS = 2; - //public static const int OLEDECNONE = 0; - //public static const int OLEDISPLAYCONTENT = 0; - //public static const int OLEDISPLAYICON = 1; - //public static const int OLEEITHER = 2; - public static const int OLEEMBEDDED = 1; - //public static const int OLEFROZEN = 1; - public static const int OLEIVERB_DISCARDUNDOSTATE = -6; - //public static const int OLEIVERB_HIDE = -3; - public static const int OLEIVERB_INPLACEACTIVATE = -5; - //public static const int OLEIVERB_OPEN = -2; - public static const int OLEIVERB_PRIMARY = 0; - //public static const int OLEIVERB_PROPERTIES = -7; - //public static const int OLEIVERB_SHOW = -1; - //public static const int OLEIVERB_UIACTIVATE = -4; - public static const int OLELINKED = 0; - //public static const int OLEMANUAL = 2; - //public static const int OLEMISC_ACTIVATEWHENVISIBLE = 256; - //public static const int OLEMISC_ACTSLIKEBUTTON = 4096; - //public static const int OLEMISC_ACTSLIKELABEL = 8192; - //public static const int OLEMISC_ALIGNABLE = 32768; - //public static const int OLEMISC_ALWAYSRUN = 2048; - //public static const int OLEMISC_CANLINKBYOLE1 = 32; - //public static const int OLEMISC_CANTLINKINSIDE = 16; - //public static const int OLEMISC_IGNOREACTIVATEWHENVISIBLE = 524288; - //public static const int OLEMISC_IMEMODE = 262144; - //public static const int OLEMISC_INSERTNOTREPLACE = 4; - //public static const int OLEMISC_INSIDEOUT = 128; - //public static const int OLEMISC_INVISIBLEATRUNTIME = 1024; - //public static const int OLEMISC_ISLINKOBJECT = 64; - //public static const int OLEMISC_NOUIACTIVATE = 16384; - //public static const int OLEMISC_ONLYICONIC = 2; - //public static const int OLEMISC_RECOMPOSEONRESIZE = 1; - //public static const int OLEMISC_RENDERINGISDEVICEINDEPENDENT = 512; - //public static const int OLEMISC_SETCLIENTSITEFIRST = 131072; - //public static const int OLEMISC_SIMPLEFRAME = 65536; - //public static const int OLEMISC_STATIC = 8; - //public static const int OLEMISC_SUPPORTSMULTILEVELUNDO = 2097152; - //public static const int OLEMISC_WANTSTOMENUMERGE = 1048576; - //public static const int OLENONE = 3; - //public static const int OLERENAMED = 3; - //public static const int OLERENDER_ASIS = 3; - public static const int OLERENDER_DRAW = 1; - //public static const int OLERENDER_FORMAT = 2; - //public static const int OLERENDER_NONE = 0; - //public static const int OLESAVED = 1; - //public static const int OLESIZEAUTOSIZE = 2; - //public static const int OLESIZECLIP = 0; - //public static const int OLESIZESTRETCH = 1; - //public static const int OLESIZEZOOM = 3; - //public static const int OLEWHICHMK_CONTAINER = 1; - //public static const int OLEWHICHMK_OBJFULL = 3; - //public static const int OLEWHICHMK_OBJREL = 2; - public static const int S_FALSE = 1; - public static const int S_OK = 0; - public static const int STG_E_FILENOTFOUND = 0x80030002; - public static const int STG_S_CONVERTED = 0x00030200; - //public static const int STGC_CONSOLIDATE = 8; - //public static const int STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4; - public static const int STGC_DEFAULT = 0; - //public static const int STGC_ONLYIFCURRENT = 2; - //public static const int STGC_OVERWRITE = 1; - public static const int STGM_CONVERT = 0x00020000; - public static const int STGM_CREATE = 0x00001000; - public static const int STGM_DELETEONRELEASE = 0x04000000; - public static const int STGM_DIRECT = 0x00000000; - public static const int STGM_DIRECT_SWMR = 0x00400000; - public static const int STGM_FAILIFTHERE = 0x00000000; - public static const int STGM_NOSCRATCH = 0x00100000; - public static const int STGM_NOSNAPSHOT = 0x00200000; - public static const int STGM_PRIORITY = 0x00040000; - public static const int STGM_READ = 0x00000000; - public static const int STGM_READWRITE = 0x00000002; - public static const int STGM_SHARE_DENY_NONE = 0x00000040; - public static const int STGM_SHARE_DENY_READ = 0x00000030; - public static const int STGM_SHARE_DENY_WRITE = 0x00000020; - public static const int STGM_SHARE_EXCLUSIVE = 0x00000010; - public static const int STGM_SIMPLE = 0x08000000; - public static const int STGM_TRANSACTED = 0x00010000; - public static const int STGM_WRITE = 0x00000001; - public static const int STGTY_STORAGE = 1; - public static const int STGTY_STREAM = 2; - public static const int STGTY_LOCKBYTES = 3; - public static const int STGTY_PROPERTY = 4; - //public static const int TYMED_ENHMF = 64; - //public static const int TYMED_FILE = 2; - //public static const int TYMED_GDI = 16; - public static const int TYMED_HGLOBAL = 1; - //public static const int TYMED_ISTORAGE = 8; - //public static const int TYMED_ISTREAM = 4; - //public static const int TYMED_MFPICT = 32; - //public static const int TYMED_NULL = 0; - public static const short DISPATCH_METHOD = 0x1; - public static const short DISPATCH_PROPERTYGET = 0x2; - public static const short DISPATCH_PROPERTYPUT = 0x4; - public static const short DISPATCH_PROPERTYPUTREF = 0x8; - //public static const short DISPID_CONSTRUCTOR = -6; - //public static const short DISPID_DESTRUCTOR = -7; - //public static const short DISPID_EVALUATE = -5; - //public static const short DISPID_NEWENUM = -4; - public static const short DISPID_PROPERTYPUT = -3; - //public static const short DISPID_UNKNOWN = -1; - //public static const short DISPID_VALUE = 0; - public static const short VT_BOOL = 11; - public static const short VT_BSTR = 8; - public static const short VT_BYREF = 16384; - public static const short VT_CY = 6; - public static const short VT_DATE = 7; - public static const short VT_DISPATCH = 9; - public static const short VT_EMPTY = 0; - public static const short VT_ERROR = 10; - public static const short VT_I1 = 16; - public static const short VT_I2 = 2; - public static const short VT_I4 = 3; - public static const short VT_I8 = 20; - public static const short VT_NULL = 1; - public static const short VT_R4 = 4; - public static const short VT_R8 = 5; - public static const short VT_UI1 = 17; - public static const short VT_UI2 = 18; - public static const short VT_UI4 = 19; - public static const short VT_UNKNOWN = 13; - public static const short VT_VARIANT = 12; - public static const short VARIANT_TRUE = -1; - public static const short VARIANT_FALSE = 0; - - -// alias dwt.internal.ole.win32.comapi. -// public static GUID* IIDFromString(String lpsz) { -// GUID* lpiid = new GUID(); -// if (COM.IIDFromString(Converter.StrToWCHARz(lpsz), lpiid) == COM.S_OK) -// return lpiid; -// return null; -// } - -alias COMAPI.CLSIDFromProgID CLSIDFromProgID; -alias COMAPI.CLSIDFromString CLSIDFromString; -alias COMAPI.CoCreateInstance CoCreateInstance; -alias COMAPI.CoFreeUnusedLibraries CoFreeUnusedLibraries; -alias COMAPI.CoGetClassObject CoGetClassObject; -alias COMAPI.CoLockObjectExternal CoLockObjectExternal; -alias COMAPI.CoTaskMemAlloc CoTaskMemAlloc; -alias COMAPI.CoTaskMemFree CoTaskMemFree; -alias COMAPI.CreateStdAccessibleObject CreateStdAccessibleObject; -alias COMAPI.CreateStreamOnHGlobal CreateStreamOnHGlobal; -alias COMAPI.DoDragDrop DoDragDrop; -alias COMAPI.GetClassFile GetClassFile; -alias COMAPI.IIDFromString IIDFromString; -alias COMAPI.IsEqualGUID IsEqualGUID; -alias COMAPI.LresultFromObject LresultFromObject; -alias COMAPI.OleCreate OleCreate; -alias COMAPI.OleCreateFromFile OleCreateFromFile; -alias COMAPI.OleCreatePropertyFrame OleCreatePropertyFrame; -alias COMAPI.OleDraw OleDraw; -alias COMAPI.OleFlushClipboard OleFlushClipboard; -alias COMAPI.OleGetClipboard OleGetClipboard; -alias COMAPI.OleIsCurrentClipboard OleIsCurrentClipboard; -alias COMAPI.OleIsRunning OleIsRunning; -alias COMAPI.OleLoad OleLoad; -alias COMAPI.OleRun OleRun; -alias COMAPI.OleSave OleSave; -alias COMAPI.OleSetClipboard OleSetClipboard; -alias COMAPI.OleSetContainedObject OleSetContainedObject; -alias COMAPI.OleSetMenuDescriptor OleSetMenuDescriptor; -alias COMAPI.OleTranslateColor OleTranslateColor; -alias COMAPI.ProgIDFromCLSID ProgIDFromCLSID; -alias COMAPI.RegisterDragDrop RegisterDragDrop; -alias COMAPI.ReleaseStgMedium ReleaseStgMedium; -alias COMAPI.RevokeDragDrop RevokeDragDrop; -alias COMAPI.SHDoDragDrop SHDoDragDrop; -alias COMAPI.StgCreateDocfile StgCreateDocfile; -alias COMAPI.StgIsStorageFile StgIsStorageFile; -alias COMAPI.StgOpenStorage StgOpenStorage; -alias COMAPI.StringFromCLSID StringFromCLSID; -alias COMAPI.SysAllocString SysAllocString; -alias COMAPI.SysFreeString SysFreeString; -alias COMAPI.SysStringByteLen SysStringByteLen; -alias COMAPI.VariantChangeType VariantChangeType; -alias COMAPI.VariantClear VariantClear; -alias COMAPI.VariantCopy VariantCopy; -alias COMAPI.VariantInit VariantInit; -alias COMAPI.WriteClassStg WriteClassStg; - -/** - * <Shawn Liu> - * VtbCall partially kept, use VtbCall instead of automation can promote performace - * and VtbCall doesn't need prototype of interface declaration - */ - -public static int VtblCall(int fnNumber, void* ppVtbl) { - Function1 fn = cast(Function1)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0){ - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1){ - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2){ - Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3){ - Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2, arg3); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4){ - Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5){ - Function7 fn = cast(Function7)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6){ - Function8 fn = cast(Function8)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7){ - Function9 fn = cast(Function9)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); -} - -/* -public static int VtblCall(int fnNumber, void* ppVtbl) { - Function1 fn = cast(Function1)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0){ - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, void* arg0){ - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)arg0); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, wchar* arg0) { - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)arg0); -} -public static int VtblCall(int fnNumber, void* ppVtbl, wchar* arg0, wchar* arg1){ - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)arg0, cast(int)arg1); -} -public static int VtblCall(int fnNumber, void* ppVtbl, wchar* arg0, int arg1) { - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)arg0, arg1); -} -public static int VtblCall(int fnNumber, void* ppVtbl, wchar* arg0, int arg1, int arg2, int arg3, int[] arg4) { - Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)arg0, arg1, arg2, arg3, cast(int)cast(int*)arg4); -} -public static int VtblCall(int fnNumber, void* ppVtbl, wchar* arg0, int arg1, int arg2, int arg3, int arg4, int[] arg5) { - Function7 fn = cast(Function7)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)arg0, arg1, arg2, arg3, arg4, cast(int)cast(int*)arg5); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int[] arg0) { - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)cast(int*)arg0); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int[] arg1) { - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)cast(int*)arg1); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1) { - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int[] arg2) { - Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, cast(int)cast(int*)arg2); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2) { - Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int[] arg3) { - Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2, cast(int)cast(int*)arg3); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, DVTARGETDEVICE* arg2, SIZE* arg3) { - Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, cast(int)(arg2), cast(int)(arg3)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, GUID* arg2, int arg3, int[] arg4) { - Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, cast(int)(arg2), arg3, cast(int)cast(int*)arg4); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, FORMATETC* arg1, int[] arg2) { - Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)(arg1), cast(int)cast(int*)arg2); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, GUID* arg1) { - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)(arg1)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, GUID* arg1, int arg2, int arg3) { - Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)(arg1), arg2, arg3); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, GUID* arg1, int arg2, int arg3, DISPPARAMS* arg4, int arg5, EXCEPINFO* arg6, int[] arg7) { - Function9 fn = cast(Function9)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)(arg1), arg2, arg3, cast(int)(arg4), arg5, cast(int)(arg6), cast(int)cast(int*)arg7); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, STATSTG* arg1, int[] arg2) { - Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)(arg1), cast(int)cast(int*)arg2); -} -public static int VtblCall(int fnNumber, void* ppVtbl, MSG* arg0) { - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, MSG* arg1, int arg2, int arg3, int arg4, RECT* arg5) { - Function7 fn = cast(Function7)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)(arg1), arg2, arg3, arg4, cast(int)(arg5)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, SIZE* arg1) { - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)(arg1)); -} - -// TODO: the type of BOOL ??? -// conflict with VtblCall(int, int, int, int); -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, bool arg1) { - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)arg1); -} -public static int VtblCall(int fnNumber, void* ppVtbl, CAUUID* arg0) { - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, CONTROLINFO* arg0) { - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, FORMATETC* arg0) { - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, FORMATETC* arg0, STGMEDIUM* arg1) { - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0), cast(int)(arg1)); -} -// TODO: BOOL type ??? -public static int VtblCall(int fnNumber, void* ppVtbl, FORMATETC* arg0, STGMEDIUM* arg1, int arg2) { - Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0), cast(int)(arg1), arg2); -} -public static int VtblCall(int fnNumber, void* ppVtbl, GUID* arg0) { - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0)); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, GUID* arg0, int[] arg1) { - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0), cast(int)cast(int*)arg1); -} - -public static int VtblCall(int fnNumber, void* ppVtbl, GUID* arg0, int arg1, int arg2, int arg3, int[] arg4) { - Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0), arg1, arg2, arg3, cast(int)cast(int*)arg4); -} -public static int VtblCall(int fnNumber, void* ppVtbl, GUID* arg0, int arg1, int arg2, int arg3, int arg4) { - Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0), arg1, arg2, arg3, arg4); -} -public static int VtblCall(int fnNumber, void* ppVtbl, GUID* arg0, int arg1, OLECMD* arg2, OLECMDTEXT* arg3) { - Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0), arg1, cast(int)(arg2), cast(int)(arg3)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, LICINFO* arg0) { - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, RECT* arg0, int arg1, int arg2) { - Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0), arg1, arg2); -} -public static int VtblCall(int fnNumber, void* ppVtbl, RECT* arg0, RECT* arg1) { - Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0), cast(int)(arg1)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, RECT* arg0) { - Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, cast(int)(arg0)); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4) { - Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)cast(int*)arg1, cast(int)cast(int*)arg2, cast(int)cast(int*)arg3, cast(int)cast(int*)arg4); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int[] arg1, int arg2, int[] arg3) { - Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, cast(int)cast(int*)arg1, arg2, cast(int)cast(int*)arg3); -} - - -// Start ACCESSIBILITY -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3) { - Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2, arg3); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4) { - Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) { - Function7 fn = cast(Function7)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5); -} -public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7) { - Function9 fn = cast(Function9)(*cast(int **)ppVtbl)[fnNumber]; - return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); -} - -*/ - - -public static const int CHILDID_SELF = 0; -public static const int CO_E_OBJNOTCONNECTED = 0x800401FD; - -//public static const int ROLE_SYSTEM_TITLEBAR = 0x1; -public static const int ROLE_SYSTEM_MENUBAR = 0x2; -public static const int ROLE_SYSTEM_SCROLLBAR = 0x3; -//public static const int ROLE_SYSTEM_GRIP = 0x4; -//public static const int ROLE_SYSTEM_SOUND = 0x5; -//public static const int ROLE_SYSTEM_CURSOR = 0x6; -//public static const int ROLE_SYSTEM_CARET = 0x7; -//public static const int ROLE_SYSTEM_ALERT = 0x8; -public static const int ROLE_SYSTEM_WINDOW = 0x9; -public static const int ROLE_SYSTEM_CLIENT = 0xa; -public static const int ROLE_SYSTEM_MENUPOPUP = 0xb; -public static const int ROLE_SYSTEM_MENUITEM = 0xc; -public static const int ROLE_SYSTEM_TOOLTIP = 0xd; -//public static const int ROLE_SYSTEM_APPLICATION = 0xe; -//public static const int ROLE_SYSTEM_DOCUMENT = 0xf; -//public static const int ROLE_SYSTEM_PANE = 0x10; -//public static const int ROLE_SYSTEM_CHART = 0x11; -public static const int ROLE_SYSTEM_DIALOG = 0x12; -//public static const int ROLE_SYSTEM_BORDER = 0x13; -//public static const int ROLE_SYSTEM_GROUPING = 0x14; -public static const int ROLE_SYSTEM_SEPARATOR = 0x15; -public static const int ROLE_SYSTEM_TOOLBAR = 0x16; -//public static const int ROLE_SYSTEM_STATUSBAR = 0x17; -public static const int ROLE_SYSTEM_TABLE = 0x18; -public static const int ROLE_SYSTEM_COLUMNHEADER = 0x19; -public static const int ROLE_SYSTEM_ROWHEADER = 0x1a; -//public static const int ROLE_SYSTEM_COLUMN = 0x1b; -//public static const int ROLE_SYSTEM_ROW = 0x1c; -public static const int ROLE_SYSTEM_CELL = 0x1d; -public static const int ROLE_SYSTEM_LINK = 0x1e; -//public static const int ROLE_SYSTEM_HELPBALLOON = 0x1f; -//public static const int ROLE_SYSTEM_CHARACTER = 0x20; -public static const int ROLE_SYSTEM_LIST = 0x21; -public static const int ROLE_SYSTEM_LISTITEM = 0x22; -public static const int ROLE_SYSTEM_OUTLINE = 0x23; -public static const int ROLE_SYSTEM_OUTLINEITEM = 0x24; -public static const int ROLE_SYSTEM_PAGETAB = 0x25; -//public static const int ROLE_SYSTEM_PROPERTYPAGE = 0x26; -//public static const int ROLE_SYSTEM_INDICATOR = 0x27; -//public static const int ROLE_SYSTEM_GRAPHIC = 0x28; -public static const int ROLE_SYSTEM_STATICTEXT = 0x29; -public static const int ROLE_SYSTEM_TEXT = 0x2a; -public static const int ROLE_SYSTEM_PUSHBUTTON = 0x2b; -public static const int ROLE_SYSTEM_CHECKBUTTON = 0x2c; -public static const int ROLE_SYSTEM_RADIOBUTTON = 0x2d; -public static const int ROLE_SYSTEM_COMBOBOX = 0x2e; -//public static const int ROLE_SYSTEM_DROPLIST = 0x2f; -public static const int ROLE_SYSTEM_PROGRESSBAR = 0x30; -//public static const int ROLE_SYSTEM_DIAL = 0x31; -//public static const int ROLE_SYSTEM_HOTKEYFIELD = 0x32; -public static const int ROLE_SYSTEM_SLIDER = 0x33; -//public static const int ROLE_SYSTEM_SPINBUTTON = 0x34; -//public static const int ROLE_SYSTEM_DIAGRAM = 0x35; -//public static const int ROLE_SYSTEM_ANIMATION = 0x36; -//public static const int ROLE_SYSTEM_EQUATION = 0x37; -//public static const int ROLE_SYSTEM_BUTTONDROPDOWN = 0x38; -//public static const int ROLE_SYSTEM_BUTTONMENU = 0x39; -//public static const int ROLE_SYSTEM_BUTTONDROPDOWNGRID = 0x3a; -//public static const int ROLE_SYSTEM_WHITESPACE = 0x3b; -public static const int ROLE_SYSTEM_PAGETABLIST = 0x3c; -//public static const int ROLE_SYSTEM_CLOCK = 0x3d; - -public static const int STATE_SYSTEM_NORMAL = 0; -//public static const int STATE_SYSTEM_UNAVAILABLE = 0x1; -public static const int STATE_SYSTEM_SELECTED = 0x2; -public static const int STATE_SYSTEM_FOCUSED = 0x4; -public static const int STATE_SYSTEM_PRESSED = 0x8; -public static const int STATE_SYSTEM_CHECKED = 0x10; -public static const int STATE_SYSTEM_MIXED = 0x20; -//public static const int STATE_SYSTEM_INDETERMINATE = STATE_SYSTEM_MIXED; -public static const int STATE_SYSTEM_READONLY = 0x40; -public static const int STATE_SYSTEM_HOTTRACKED = 0x80; -//public static const int STATE_SYSTEM_DEFAULT = 0x100; -public static const int STATE_SYSTEM_EXPANDED = 0x200; -public static const int STATE_SYSTEM_COLLAPSED = 0x400; -public static const int STATE_SYSTEM_BUSY = 0x800; -//public static const int STATE_SYSTEM_FLOATING = 0x1000; -//public static const int STATE_SYSTEM_MARQUEED = 0x2000; -//public static const int STATE_SYSTEM_ANIMATED = 0x4000; -public static const int STATE_SYSTEM_INVISIBLE = 0x8000; -public static const int STATE_SYSTEM_OFFSCREEN = 0x10000; -public static const int STATE_SYSTEM_SIZEABLE = 0x20000; -//public static const int STATE_SYSTEM_MOVEABLE = 0x40000; -//public static const int STATE_SYSTEM_SELFVOICING = 0x80000; -public static const int STATE_SYSTEM_FOCUSABLE = 0x100000; -public static const int STATE_SYSTEM_SELECTABLE = 0x200000; -public static const int STATE_SYSTEM_LINKED = 0x400000; -//public static const int STATE_SYSTEM_TRAVERSED = 0x800000; -public static const int STATE_SYSTEM_MULTISELECTABLE = 0x1000000; -//public static const int STATE_SYSTEM_EXTSELECTABLE = 0x2000000; -//public static const int STATE_SYSTEM_ALERT_LOW = 0x4000000; -//public static const int STATE_SYSTEM_ALERT_MEDIUM = 0x8000000; -//public static const int STATE_SYSTEM_ALERT_HIGH = 0x10000000; -//public static const int STATE_SYSTEM_PROTECTED = 0x20000000; -//public static const int STATE_SYSTEM_VALID = 0x3fffffff; - -/* End ACCESSIBILITY */ - -} - -/** - * <Shawn> difference between WCHARzToStr(pwstr, -1) : - * BSTRToStr() internally call WCHARzToStr(pwstr, length) with length set, - * instead to determine the null ended, this mean BSTRToStr() can get string - * which has embedded null characters. - */ -// BSTR is aliased to wchar* -// Note : Free the "bstr" memory if freeTheString is true, default false -String BSTRToStr( /*BSTR*/ inout wchar* bstr, bool freeTheString = false){ - if(bstr is null) return null; - int size = (SysStringByteLen(bstr) + 1)/wchar.sizeof; - String result = WCHARzToStr(bstr, size); - if(freeTheString) { - // free the string and set ptr to null - SysFreeString(bstr); - bstr = null; - } - return result; -} - - - - - +/******************************************************************************* + * Copyright (c) 2000, 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Port to the D programming language: + * Shawn Liu + * Frank Benoit <benoit@tionex.de> + *******************************************************************************/ +module dwt.internal.ole.win32.COM; + + +public import dwt.internal.ole.win32.COMTYPES; +private import dwt.internal.ole.win32.OAIDL; +private import dwt.internal.ole.win32.OBJIDL; +private import dwt.internal.ole.win32.OLEIDL; +private import dwt.internal.ole.win32.DOCOBJ; +private import dwt.internal.ole.win32.EXDISP; +private import dwt.internal.ole.win32.MSHTMHST; +private import dwt.internal.ole.win32.extras; +private import dwt.internal.ole.win32.ifs; +private import dwt.internal.ole.win32.COMAPI; +import dwt.dwthelper.utils; + +private alias dwt.internal.ole.win32.COMAPI COMAPI; + + +public import dwt.internal.win32.OS; + +template IIDFromStringT(String g) { + static if (g.length == 38) + const GUID IIDFromStringT = IIDFromStringT!(g[1..$-1]); + else static if (g.length == 36) + const GUID IIDFromStringT = { + mixin("0x" ~ g[0..8]), + mixin("0x" ~ g[9..13]), + mixin("0x" ~ g[14..18]), + [ + mixin("0x" ~ g[19..21]), + mixin("0x" ~ g[21..23]), + mixin("0x" ~ g[24..26]), + mixin("0x" ~ g[26..28]), + mixin("0x" ~ g[28..30]), + mixin("0x" ~ g[30..32]), + mixin("0x" ~ g[32..34]), + mixin("0x" ~ g[34..36]) ] }; + else + static assert(false, "Incorrect format for GUID. "~g); +} + + +public class COM : OS { + + //private import std.c.windows.com; + + // all the GUID + // GUIDs for Home Page Browser + + /** GUID Constants */ + public static const GUID IIDJavaBeansBridge = IIDFromStringT!("{8AD9C840-044E-11D1-B3E9-00805F499D93}"); //$NON-NLS-1$ + public static const GUID IIDShockwaveActiveXControl = IIDFromStringT!("{166B1BCA-3F9C-11CF-8075-444553540000}"); //$NON-NLS-1$ + public static const GUID IIDIEditorSiteTime = IIDFromStringT!("{6BD2AEFE-7876-45e6-A6E7-3BFCDF6540AA}"); //$NON-NLS-1$ + public static const GUID IIDIEditorSiteProperty = IIDFromStringT!("{D381A1F4-2326-4f3c-AFB9-B7537DB9E238}"); //$NON-NLS-1$ + public static const GUID IIDIEditorBaseProperty = IIDFromStringT!("{61E55B0B-2647-47c4-8C89-E736EF15D636}"); //$NON-NLS-1$ + public static const GUID IIDIEditorSite = IIDFromStringT!("{CDD88AB9-B01D-426E-B0F0-30973E9A074B}"); //$NON-NLS-1$ + public static const GUID IIDIEditorService = IIDFromStringT!("{BEE283FE-7B42-4FF3-8232-0F07D43ABCF1}"); //$NON-NLS-1$ + public static const GUID IIDIEditorManager = IIDFromStringT!("{EFDE08C4-BE87-4B1A-BF84-15FC30207180}"); //$NON-NLS-1$ + public static const GUID IIDIAccessible = IIDFromStringT!("{618736E0-3C3D-11CF-810C-00AA00389B71}"); //$NON-NLS-1$ + //public static const GUID IIDIAccessibleHandler = IIDFromStringT!("{03022430-ABC4-11D0-BDE2-00AA001A1953}"); //$NON-NLS-1$ + //public static const GUID IIDIAccessor = IIDFromStringT!("{0C733A8C-2A1C-11CE-ADE5-00AA0044773D}"); //$NON-NLS-1$ + public static const GUID IIDIAdviseSink = IIDFromStringT!("{0000010F-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIAdviseSink2 = IIDFromStringT!("{00000125-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIBindCtx = IIDFromStringT!("{0000000E-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIClassFactory = IIDFromStringT!("{00000001-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIClassFactory2 = IIDFromStringT!("{B196B28F-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + public static const GUID IIDIConnectionPoint = IIDFromStringT!("{B196B286-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + public static const GUID IIDIConnectionPointContainer = IIDFromStringT!("{B196B284-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + //public static const GUID IIDICreateErrorInfo = IIDFromStringT!("{22F03340-547D-101B-8E65-08002B2BD119}"); //$NON-NLS-1$ + //public static const GUID IIDICreateTypeInfo = IIDFromStringT!("{00020405-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDICreateTypeLib = IIDFromStringT!("{00020406-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIDataAdviseHolder = IIDFromStringT!("{00000110-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIDataObject = IIDFromStringT!("{0000010E-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIDispatch = IIDFromStringT!("{00020400-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIDocHostUIHandler = IIDFromStringT!("{BD3F23C0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$ + public static const GUID IIDIDocHostShowUI = IIDFromStringT!("{C4D244B0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$ + public static const GUID IIDIDropSource = IIDFromStringT!("{00000121-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIDropTarget = IIDFromStringT!("{00000122-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIEnumConnectionPoints = IIDFromStringT!("{B196B285-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + //public static const GUID IIDIEnumConnections = IIDFromStringT!("{B196B287-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + public static const GUID IIDIEnumFORMATETC = IIDFromStringT!("{00000103-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIEnumMoniker = IIDFromStringT!("{00000102-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIEnumOLEVERB = IIDFromStringT!("{00000104-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIEnumSTATDATA = IIDFromStringT!("{00000105-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIEnumSTATSTG = IIDFromStringT!("{0000000D-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIEnumString = IIDFromStringT!("{00000101-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIEnumUnknown = IIDFromStringT!("{00000100-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIEnumVARIANT = IIDFromStringT!("{00020404-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIErrorInfo = IIDFromStringT!("{1CF2B120-547D-101B-8E65-08002B2BD119}"); //$NON-NLS-1$ + //public static const GUID IIDIErrorLog = IIDFromStringT!("{3127CA40-446E-11CE-8135-00AA004BB851}"); //$NON-NLS-1$ + //public static const GUID IIDIExternalConnection = IIDFromStringT!("{00000019-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIFont = IIDFromStringT!("{BEF6E002-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$ + //public static const GUID IIDIFontDisp = IIDFromStringT!("{BEF6E003-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$ + public static const /*GUID*/ String IIDIHTMLDocumentEvents2 = /*IIDFromStringT!(*/"{3050F613-98B5-11CF-BB82-00AA00BDCE0B}"/*)*/; + public static const GUID IIDIInternetSecurityManager = IIDFromStringT!("{79eac9ee-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$ + //public static const GUID IIDILockBytes = IIDFromStringT!("{0000000A-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIMalloc = IIDFromStringT!("{00000002-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIMallocSpy = IIDFromStringT!("{0000001D-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIMarshal = IIDFromStringT!("{00000003-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIMessageFilter = IIDFromStringT!("{00000016-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIMoniker = IIDFromStringT!("{0000000F-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIOleAdviseHolder = IIDFromStringT!("{00000111-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIOleCache = IIDFromStringT!("{0000011E-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIOleCache2 = IIDFromStringT!("{00000128-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIOleCacheControl = IIDFromStringT!("{00000129-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIOleClientSite = IIDFromStringT!("{00000118-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIOleCommandTarget = IIDFromStringT!("{B722BCCB-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$ + public static const GUID IIDIOleContainer = IIDFromStringT!("{0000011B-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIOleControl = IIDFromStringT!("{B196B288-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + public static const GUID IIDIOleControlSite = IIDFromStringT!("{B196B289-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + public static const GUID IIDIOleDocument = IIDFromStringT!("{B722BCC5-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$ + public static const GUID IIDIOleDocumentSite = IIDFromStringT!("{B722BCC7-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$ + public static const GUID IIDIOleInPlaceActiveObject = IIDFromStringT!("{00000117-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIOleInPlaceFrame = IIDFromStringT!("{00000116-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIOleInPlaceObject = IIDFromStringT!("{00000113-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIOleInPlaceSite = IIDFromStringT!("{00000119-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIOleInPlaceUIWindow = IIDFromStringT!("{00000115-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIOleItemContainer = IIDFromStringT!("{0000011C-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIOleLink = IIDFromStringT!("{0000011D-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIOleObject = IIDFromStringT!("{00000112-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIOleWindow = IIDFromStringT!("{00000114-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIParseDisplayName = IIDFromStringT!("{0000011A-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIPerPropertyBrowsing = IIDFromStringT!("{376BD3AA-3845-101B-84ED-08002B2EC713}"); //$NON-NLS-1$ + public static const GUID IIDIPersist = IIDFromStringT!("{0000010C-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIPersistFile = IIDFromStringT!("{0000010B-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIPersistMemory = IIDFromStringT!("{BD1AE5E0-A6AE-11CE-BD37-504200C10000}"); //$NON-NLS-1$ + //public static const GUID IIDIPersistPropertyBag = IIDFromStringT!("{37D84F60-42CB-11CE-8135-00AA004BB851}"); //$NON-NLS-1$ + public static const GUID IIDIPersistStorage = IIDFromStringT!("{0000010A-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIPersistStream = IIDFromStringT!("{00000109-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIPersistStreamInit = IIDFromStringT!("{7FD52380-4E07-101B-AE2D-08002B2EC713}"); //$NON-NLS-1$ + //public static const GUID IIDIPicture = IIDFromStringT!("{7BF80980-BF32-101A-8BBB-00AA00300CAB}"); //$NON-NLS-1$ + //public static const GUID IIDIPictureDisp = IIDFromStringT!("{7BF80981-BF32-101A-8BBB-00AA00300CAB}"); //$NON-NLS-1$ + //public static const GUID IIDIPropertyBag = IIDFromStringT!("{55272A00-42CB-11CE-8135-00AA004BB851}"); //$NON-NLS-1$ + public static const GUID IIDIPropertyNotifySink = IIDFromStringT!("{9BFBBC02-EFF1-101A-84ED-00AA00341D07}"); //$NON-NLS-1$ + //public static const GUID IIDIPropertyPage = IIDFromStringT!("{B196B28D-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + //public static const GUID IIDIPropertyPage2 = IIDFromStringT!("{01E44665-24AC-101B-84ED-08002B2EC713}"); //$NON-NLS-1$ + //public static const GUID IIDIPropertyPageSite = IIDFromStringT!("{B196B28C-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + public static const GUID IIDIProvideClassInfo = IIDFromStringT!("{B196B283-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + public static const GUID IIDIProvideClassInfo2 = IIDFromStringT!("{A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851}"); //$NON-NLS-1$ + //public static const GUID IIDIPSFactoryBuffer = IIDFromStringT!("{D5F569D0-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$ + //public static const GUID IIDIRootStorage = IIDFromStringT!("{00000012-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIROTData = IIDFromStringT!("{F29F6BC0-5021-11CE-AA15-00006901293F}"); //$NON-NLS-1$ + //public static const GUID IIDIRpcChannelBuffer = IIDFromStringT!("{D5F56B60-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$ + //public static const GUID IIDIRpcProxyBuffer = IIDFromStringT!("{D5F56A34-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$ + //public static const GUID IIDIRpcStubBuffer = IIDFromStringT!("{D5F56AFC-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$ + //public static const GUID IIDIRunnableObject = IIDFromStringT!("{00000126-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIRunningObjectTable = IIDFromStringT!("{00000010-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDISimpleFrameSite = IIDFromStringT!("{742B0E01-14E6-101B-914E-00AA00300CAB}"); //$NON-NLS-1$ + public static const GUID IIDIServiceProvider = IIDFromStringT!("{6d5140c1-7436-11ce-8034-00aa006009fa}"); //$NON-NLS-1$ + public static const GUID IIDISpecifyPropertyPages = IIDFromStringT!("{B196B28B-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$ + //public static const GUID IIDIStdMarshalInfo = IIDFromStringT!("{00000018-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIStorage = IIDFromStringT!("{0000000B-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIStream = IIDFromStringT!("{0000000C-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDISupportErrorInfo = IIDFromStringT!("{DF0B3D60-548F-101B-8E65-08002B2BD119}"); //$NON-NLS-1$ + //public static const GUID IIDITypeComp = IIDFromStringT!("{00020403-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDITypeLib = IIDFromStringT!("{00020402-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIUnknown = IIDFromStringT!("{00000000-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + //public static const GUID IIDIViewObject = IIDFromStringT!("{0000010D-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID IIDIViewObject2 = IIDFromStringT!("{00000127-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + public static const GUID CGID_DocHostCommandHandler = IIDFromStringT!("{f38bc242-b950-11d1-8918-00c04fc2c836}"); //$NON-NLS-1$ + public static const GUID CGID_Explorer = IIDFromStringT!("{000214D0-0000-0000-C000-000000000046}"); //$NON-NLS-1$ + + + + /* Constants */ + //public static const int ADVF_DATAONSTOP = 64; + //public static const int ADVF_NODATA = 1; + //public static const int ADVF_ONLYONCE = 2; + //public static const int ADVF_PRIMEFIRST = 4; + //public static const int ADVFCACHE_FORCEBUILTIN = 16; + //public static const int ADVFCACHE_NOHANDLER = 8; + //public static const int ADVFCACHE_ONSAVE = 32; + public static const int CF_TEXT = 1; + public static const int CF_BITMAP = 2; + public static const int CF_METAFILEPICT = 3; + public static const int CF_SYLK = 4; + public static const int CF_DIF = 5; + public static const int CF_TIFF = 6; + public static const int CF_OEMTEXT = 7; + public static const int CF_DIB = 8; + public static const int CF_PALETTE = 9; + public static const int CF_PENDATA = 10; + public static const int CF_RIFF = 11; + public static const int CF_WAVE = 12; + public static const int CF_UNICODETEXT = 13; + public static const int CF_ENHMETAFILE = 14; + public static const int CF_HDROP = 15; + public static const int CF_LOCALE = 16; + public static const int CF_MAX = 17; + public static const int CLSCTX_INPROC_HANDLER = 2; + public static const int CLSCTX_INPROC_SERVER = 1; + public static const int CLSCTX_LOCAL_SERVER = 4; + public static const int CLSCTX_REMOTE_SERVER = 16; + public static const int CO_E_CLASSSTRING = -2147221005; + //public static const int COINIT_APARTMENTTHREADED = 2; + //public static const int COINIT_DISABLE_OLE1DDE = 4; + //public static const int COINIT_MULTITHREADED = 0; + //public static const int COINIT_SPEED_OVER_MEMORY = 8; + public static const int DATADIR_GET = 1; + public static const int DATADIR_SET = 2; + public static const int DISP_E_EXCEPTION = 0x80020009; + public static const int DISP_E_MEMBERNOTFOUND = -2147352573; + public static const int DISP_E_UNKNOWNINTERFACE = 0x80020001; + //public static const int DISPID_AMBIENT_APPEARANCE = -716; + //public static const int DISPID_AMBIENT_AUTOCLIP = -715; + public static const int DISPID_AMBIENT_BACKCOLOR = -701; + //public static const int DISPID_AMBIENT_CHARSET = -727; + //public static const int DISPID_AMBIENT_CODEPAGE = -725; + //public static const int DISPID_AMBIENT_DISPLAYASDEFAULT = -713; + //public static const int DISPID_AMBIENT_DISPLAYNAME = -702; + public static const int DISPID_AMBIENT_FONT = -703; + public static const int DISPID_AMBIENT_FORECOLOR = -704; + public static const int DISPID_AMBIENT_LOCALEID = -705; + public static const int DISPID_AMBIENT_MESSAGEREFLECT = -706; + public static const int DISPID_AMBIENT_OFFLINEIFNOTCONNECTED = -5501; + //public static const int DISPID_AMBIENT_PALETTE = -726; + //public static const int DISPID_AMBIENT_RIGHTTOLEFT = -732; + //public static const int DISPID_AMBIENT_SCALEUNITS = -707; + public static const int DISPID_AMBIENT_SHOWGRABHANDLES = -711; + public static const int DISPID_AMBIENT_SHOWHATCHING = -712; + public static const int DISPID_AMBIENT_SILENT = -5502; + public static const int DISPID_AMBIENT_SUPPORTSMNEMONICS = -714; + //public static const int DISPID_AMBIENT_TEXTALIGN = -708; + //public static const int DISPID_AMBIENT_TOPTOBOTTOM = -733; + //public static const int DISPID_AMBIENT_TRANSFERPRIORITY = -728; + public static const int DISPID_AMBIENT_UIDEAD = -710; + public static const int DISPID_AMBIENT_USERMODE = -709; + public static const int DISPID_BACKCOLOR = -501; + public static const int DISPID_FONT = -512; + public static const int DISPID_FONT_BOLD = 3; + public static const int DISPID_FONT_CHARSET = 8; + public static const int DISPID_FONT_ITALIC = 4; + public static const int DISPID_FONT_NAME = 0; + public static const int DISPID_FONT_SIZE = 2; + public static const int DISPID_FONT_STRIKE = 6; + public static const int DISPID_FONT_UNDER = 5; + public static const int DISPID_FONT_WEIGHT = 7; + public static const int DISPID_FORECOLOR = -513; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK = 0xFFFFFDA7; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONDRAGEND = 0x80010015; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART = 0x8001000B; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN = 0xFFFFFDA6; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS = 0xFFFFFDA5; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONKEYUP = 0xFFFFFDA4; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT = 0x80010009; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER = 0x80010008; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE = 0xFFFFFDA2; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN = 0xFFFFFDA3; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP = 0xFFFFFDA1; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONSTOP = 0x00000402; + public static const int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL = 1033; + + //public static const int DISPID_READYSTATE = -525; + //public static const int DISPID_READYSTATECHANGE = -609; + public static const int DRAGDROP_S_DROP = 0x00040100; + public static const int DRAGDROP_S_CANCEL = 0x00040101; + public static const int DRAGDROP_S_USEDEFAULTCURSORS = 0x00040102; + public static const int DROPEFFECT_NONE = 0; + public static const int DROPEFFECT_COPY = 1; + public static const int DROPEFFECT_MOVE = 2; + public static const int DROPEFFECT_LINK = 4; + public static const int DROPEFFECT_SCROLL = 0x80000000; + public static final int DSH_ALLOWDROPDESCRIPTIONTEXT = 0x1; + public static const int DV_E_FORMATETC = -2147221404; + public static const int DV_E_STGMEDIUM = -2147221402; + public static const int DV_E_TYMED = -2147221399; + public static const int DVASPECT_CONTENT = 1; + //public static const int DVASPECT_DOCPRINT = 8; + //public static const int DVASPECT_ICON = 4; + //public static const int DVASPECT_THUMBNAIL = 2; + public static const int E_FAIL = -2147467259; + public static const int E_INVALIDARG = -2147024809; + public static const int E_NOINTERFACE = -2147467262; + public static const int E_NOTIMPL = -2147467263; + public static const int E_NOTSUPPORTED = 0x80040100; + //public static const int E_NOTLICENSED = -2147221230; + public static const int E_OUTOFMEMORY = -2147024882; + //public static const int E_POINTER = -2147467261; + public static const int GMEM_FIXED = 0; + //public static const int GMEM_MOVABLE = 2; + //public static const int GMEM_NODISCARD = 32; + public static const int GMEM_ZEROINIT = 64; + public static const int GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1; + public static const int IMPLTYPEFLAG_FDEFAULT = 1; + //public static const int IMPLTYPEFLAG_FDEFAULTVTABLE = 2048; + public static const int IMPLTYPEFLAG_FRESTRICTED = 4; + public static const int IMPLTYPEFLAG_FSOURCE = 2; + public static const int LOCALE_SYSTEM_DEFAULT = 1024; + public static const int LOCALE_USER_DEFAULT = 2048; + //public static const int MEMCTX_TASK = 1; + //public static const int OLEACTIVATEAUTO = 3; + //public static const int OLEACTIVATEDOUBLECLICK = 2; + //public static const int OLEACTIVATEGETFOCUS = 1; + //public static const int OLEACTIVATEMANUAL = 0; + //public static const int OLEAUTOMATIC = 0; + //public static const int OLECHANGED = 0; + public static const int OLECLOSE_NOSAVE = 1; + //public static const int OLECLOSE_PROMPTSAVE = 2; + public static const int OLECLOSE_SAVEIFDIRTY = 0; + //public static const int OLECLOSED = 2; + //public static const int OLECONTF_EMBEDDINGS = 1; + //public static const int OLECONTF_LINKS = 2; + //public static const int OLECONTF_ONLYIFRUNNING = 16; + //public static const int OLECONTF_ONLYUSER = 8; + //public static const int OLECONTF_OTHERS = 4; + //public static const int OLEDEACTIVATEMANUAL = 1; + //public static const int OLEDEACTIVATEONLOSEFOCUS = 0; + //public static const int OLEDECBORDER = 1; + //public static const int OLEDECBORDERANDNIBS = 3; + //public static const int OLEDECNIBS = 2; + //public static const int OLEDECNONE = 0; + //public static const int OLEDISPLAYCONTENT = 0; + //public static const int OLEDISPLAYICON = 1; + //public static const int OLEEITHER = 2; + public static const int OLEEMBEDDED = 1; + //public static const int OLEFROZEN = 1; + public static const int OLEIVERB_DISCARDUNDOSTATE = -6; + //public static const int OLEIVERB_HIDE = -3; + public static const int OLEIVERB_INPLACEACTIVATE = -5; + //public static const int OLEIVERB_OPEN = -2; + public static const int OLEIVERB_PRIMARY = 0; + //public static const int OLEIVERB_PROPERTIES = -7; + //public static const int OLEIVERB_SHOW = -1; + //public static const int OLEIVERB_UIACTIVATE = -4; + public static const int OLELINKED = 0; + //public static const int OLEMANUAL = 2; + //public static const int OLEMISC_ACTIVATEWHENVISIBLE = 256; + //public static const int OLEMISC_ACTSLIKEBUTTON = 4096; + //public static const int OLEMISC_ACTSLIKELABEL = 8192; + //public static const int OLEMISC_ALIGNABLE = 32768; + //public static const int OLEMISC_ALWAYSRUN = 2048; + //public static const int OLEMISC_CANLINKBYOLE1 = 32; + //public static const int OLEMISC_CANTLINKINSIDE = 16; + //public static const int OLEMISC_IGNOREACTIVATEWHENVISIBLE = 524288; + //public static const int OLEMISC_IMEMODE = 262144; + //public static const int OLEMISC_INSERTNOTREPLACE = 4; + //public static const int OLEMISC_INSIDEOUT = 128; + //public static const int OLEMISC_INVISIBLEATRUNTIME = 1024; + //public static const int OLEMISC_ISLINKOBJECT = 64; + //public static const int OLEMISC_NOUIACTIVATE = 16384; + //public static const int OLEMISC_ONLYICONIC = 2; + //public static const int OLEMISC_RECOMPOSEONRESIZE = 1; + //public static const int OLEMISC_RENDERINGISDEVICEINDEPENDENT = 512; + //public static const int OLEMISC_SETCLIENTSITEFIRST = 131072; + //public static const int OLEMISC_SIMPLEFRAME = 65536; + //public static const int OLEMISC_STATIC = 8; + //public static const int OLEMISC_SUPPORTSMULTILEVELUNDO = 2097152; + //public static const int OLEMISC_WANTSTOMENUMERGE = 1048576; + //public static const int OLENONE = 3; + //public static const int OLERENAMED = 3; + //public static const int OLERENDER_ASIS = 3; + public static const int OLERENDER_DRAW = 1; + //public static const int OLERENDER_FORMAT = 2; + //public static const int OLERENDER_NONE = 0; + //public static const int OLESAVED = 1; + //public static const int OLESIZEAUTOSIZE = 2; + //public static const int OLESIZECLIP = 0; + //public static const int OLESIZESTRETCH = 1; + //public static const int OLESIZEZOOM = 3; + //public static const int OLEWHICHMK_CONTAINER = 1; + //public static const int OLEWHICHMK_OBJFULL = 3; + //public static const int OLEWHICHMK_OBJREL = 2; + public static const int S_FALSE = 1; + public static const int S_OK = 0; + public static const int STG_E_FILENOTFOUND = 0x80030002; + public static const int STG_S_CONVERTED = 0x00030200; + //public static const int STGC_CONSOLIDATE = 8; + //public static const int STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4; + public static const int STGC_DEFAULT = 0; + //public static const int STGC_ONLYIFCURRENT = 2; + //public static const int STGC_OVERWRITE = 1; + public static const int STGM_CONVERT = 0x00020000; + public static const int STGM_CREATE = 0x00001000; + public static const int STGM_DELETEONRELEASE = 0x04000000; + public static const int STGM_DIRECT = 0x00000000; + public static const int STGM_DIRECT_SWMR = 0x00400000; + public static const int STGM_FAILIFTHERE = 0x00000000; + public static const int STGM_NOSCRATCH = 0x00100000; + public static const int STGM_NOSNAPSHOT = 0x00200000; + public static const int STGM_PRIORITY = 0x00040000; + public static const int STGM_READ = 0x00000000; + public static const int STGM_READWRITE = 0x00000002; + public static const int STGM_SHARE_DENY_NONE = 0x00000040; + public static const int STGM_SHARE_DENY_READ = 0x00000030; + public static const int STGM_SHARE_DENY_WRITE = 0x00000020; + public static const int STGM_SHARE_EXCLUSIVE = 0x00000010; + public static const int STGM_SIMPLE = 0x08000000; + public static const int STGM_TRANSACTED = 0x00010000; + public static const int STGM_WRITE = 0x00000001; + public static const int STGTY_STORAGE = 1; + public static const int STGTY_STREAM = 2; + public static const int STGTY_LOCKBYTES = 3; + public static const int STGTY_PROPERTY = 4; + //public static const int TYMED_ENHMF = 64; + //public static const int TYMED_FILE = 2; + //public static const int TYMED_GDI = 16; + public static const int TYMED_HGLOBAL = 1; + //public static const int TYMED_ISTORAGE = 8; + //public static const int TYMED_ISTREAM = 4; + //public static const int TYMED_MFPICT = 32; + //public static const int TYMED_NULL = 0; + public static const short DISPATCH_METHOD = 0x1; + public static const short DISPATCH_PROPERTYGET = 0x2; + public static const short DISPATCH_PROPERTYPUT = 0x4; + public static const short DISPATCH_PROPERTYPUTREF = 0x8; + //public static const short DISPID_CONSTRUCTOR = -6; + //public static const short DISPID_DESTRUCTOR = -7; + //public static const short DISPID_EVALUATE = -5; + //public static const short DISPID_NEWENUM = -4; + public static const short DISPID_PROPERTYPUT = -3; + //public static const short DISPID_UNKNOWN = -1; + //public static const short DISPID_VALUE = 0; + public static const short VT_BOOL = 11; + public static const short VT_BSTR = 8; + public static const short VT_BYREF = 16384; + public static const short VT_CY = 6; + public static const short VT_DATE = 7; + public static const short VT_DISPATCH = 9; + public static const short VT_EMPTY = 0; + public static const short VT_ERROR = 10; + public static const short VT_I1 = 16; + public static const short VT_I2 = 2; + public static const short VT_I4 = 3; + public static const short VT_I8 = 20; + public static const short VT_NULL = 1; + public static const short VT_R4 = 4; + public static const short VT_R8 = 5; + public static const short VT_UI1 = 17; + public static const short VT_UI2 = 18; + public static const short VT_UI4 = 19; + public static const short VT_UNKNOWN = 13; + public static const short VT_VARIANT = 12; + public static const short VARIANT_TRUE = -1; + public static const short VARIANT_FALSE = 0; + + +// alias dwt.internal.ole.win32.comapi. +// public static GUID* IIDFromString(String lpsz) { +// GUID* lpiid = new GUID(); +// if (COM.IIDFromString(Converter.StrToWCHARz(lpsz), lpiid) == COM.S_OK) +// return lpiid; +// return null; +// } + +alias COMAPI.CLSIDFromProgID CLSIDFromProgID; +alias COMAPI.CLSIDFromString CLSIDFromString; +alias COMAPI.CoCreateInstance CoCreateInstance; +alias COMAPI.CoFreeUnusedLibraries CoFreeUnusedLibraries; +alias COMAPI.CoGetClassObject CoGetClassObject; +alias COMAPI.CoLockObjectExternal CoLockObjectExternal; +alias COMAPI.CoTaskMemAlloc CoTaskMemAlloc; +alias COMAPI.CoTaskMemFree CoTaskMemFree; +alias COMAPI.CreateStdAccessibleObject CreateStdAccessibleObject; +alias COMAPI.CreateStreamOnHGlobal CreateStreamOnHGlobal; +alias COMAPI.DoDragDrop DoDragDrop; +alias COMAPI.GetClassFile GetClassFile; +alias COMAPI.IIDFromString IIDFromString; +alias COMAPI.IsEqualGUID IsEqualGUID; +alias COMAPI.LresultFromObject LresultFromObject; +alias COMAPI.OleCreate OleCreate; +alias COMAPI.OleCreateFromFile OleCreateFromFile; +alias COMAPI.OleCreatePropertyFrame OleCreatePropertyFrame; +alias COMAPI.OleDraw OleDraw; +alias COMAPI.OleFlushClipboard OleFlushClipboard; +alias COMAPI.OleGetClipboard OleGetClipboard; +alias COMAPI.OleIsCurrentClipboard OleIsCurrentClipboard; +alias COMAPI.OleIsRunning OleIsRunning; +alias COMAPI.OleLoad OleLoad; +alias COMAPI.OleRun OleRun; +alias COMAPI.OleSave OleSave; +alias COMAPI.OleSetClipboard OleSetClipboard; +alias COMAPI.OleSetContainedObject OleSetContainedObject; +alias COMAPI.OleSetMenuDescriptor OleSetMenuDescriptor; +alias COMAPI.OleTranslateColor OleTranslateColor; +alias COMAPI.ProgIDFromCLSID ProgIDFromCLSID; +alias COMAPI.RegisterDragDrop RegisterDragDrop; +alias COMAPI.ReleaseStgMedium ReleaseStgMedium; +alias COMAPI.RevokeDragDrop RevokeDragDrop; +alias COMAPI.SHDoDragDrop SHDoDragDrop; +alias COMAPI.StgCreateDocfile StgCreateDocfile; +alias COMAPI.StgIsStorageFile StgIsStorageFile; +alias COMAPI.StgOpenStorage StgOpenStorage; +alias COMAPI.StringFromCLSID StringFromCLSID; +alias COMAPI.SysAllocString SysAllocString; +alias COMAPI.SysFreeString SysFreeString; +alias COMAPI.SysStringByteLen SysStringByteLen; +alias COMAPI.VariantChangeType VariantChangeType; +alias COMAPI.VariantClear VariantClear; +alias COMAPI.VariantCopy VariantCopy; +alias COMAPI.VariantInit VariantInit; +alias COMAPI.WriteClassStg WriteClassStg; + +/** + * <Shawn Liu> + * VtbCall partially kept, use VtbCall instead of automation can promote performace + * and VtbCall doesn't need prototype of interface declaration + */ + +public static int VtblCall(int fnNumber, void* ppVtbl) { + Function1 fn = cast(Function1)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0){ + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1){ + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2){ + Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3){ + Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2, arg3); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4){ + Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5){ + Function7 fn = cast(Function7)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6){ + Function8 fn = cast(Function8)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7){ + Function9 fn = cast(Function9)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} + +/* +public static int VtblCall(int fnNumber, void* ppVtbl) { + Function1 fn = cast(Function1)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0){ + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, void* arg0){ + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)arg0); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, wchar* arg0) { + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)arg0); +} +public static int VtblCall(int fnNumber, void* ppVtbl, wchar* arg0, wchar* arg1){ + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)arg0, cast(int)arg1); +} +public static int VtblCall(int fnNumber, void* ppVtbl, wchar* arg0, int arg1) { + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)arg0, arg1); +} +public static int VtblCall(int fnNumber, void* ppVtbl, wchar* arg0, int arg1, int arg2, int arg3, int[] arg4) { + Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)arg0, arg1, arg2, arg3, cast(int)cast(int*)arg4); +} +public static int VtblCall(int fnNumber, void* ppVtbl, wchar* arg0, int arg1, int arg2, int arg3, int arg4, int[] arg5) { + Function7 fn = cast(Function7)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)arg0, arg1, arg2, arg3, arg4, cast(int)cast(int*)arg5); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int[] arg0) { + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)cast(int*)arg0); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int[] arg1) { + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)cast(int*)arg1); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1) { + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int[] arg2) { + Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, cast(int)cast(int*)arg2); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2) { + Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int[] arg3) { + Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2, cast(int)cast(int*)arg3); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, DVTARGETDEVICE* arg2, SIZE* arg3) { + Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, cast(int)(arg2), cast(int)(arg3)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, GUID* arg2, int arg3, int[] arg4) { + Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, cast(int)(arg2), arg3, cast(int)cast(int*)arg4); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, FORMATETC* arg1, int[] arg2) { + Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)(arg1), cast(int)cast(int*)arg2); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, GUID* arg1) { + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)(arg1)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, GUID* arg1, int arg2, int arg3) { + Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)(arg1), arg2, arg3); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, GUID* arg1, int arg2, int arg3, DISPPARAMS* arg4, int arg5, EXCEPINFO* arg6, int[] arg7) { + Function9 fn = cast(Function9)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)(arg1), arg2, arg3, cast(int)(arg4), arg5, cast(int)(arg6), cast(int)cast(int*)arg7); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, STATSTG* arg1, int[] arg2) { + Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)(arg1), cast(int)cast(int*)arg2); +} +public static int VtblCall(int fnNumber, void* ppVtbl, MSG* arg0) { + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, MSG* arg1, int arg2, int arg3, int arg4, RECT* arg5) { + Function7 fn = cast(Function7)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)(arg1), arg2, arg3, arg4, cast(int)(arg5)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, SIZE* arg1) { + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)(arg1)); +} + +// TODO: the type of BOOL ??? +// conflict with VtblCall(int, int, int, int); +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, bool arg1) { + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)arg1); +} +public static int VtblCall(int fnNumber, void* ppVtbl, CAUUID* arg0) { + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, CONTROLINFO* arg0) { + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, FORMATETC* arg0) { + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, FORMATETC* arg0, STGMEDIUM* arg1) { + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0), cast(int)(arg1)); +} +// TODO: BOOL type ??? +public static int VtblCall(int fnNumber, void* ppVtbl, FORMATETC* arg0, STGMEDIUM* arg1, int arg2) { + Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0), cast(int)(arg1), arg2); +} +public static int VtblCall(int fnNumber, void* ppVtbl, GUID* arg0) { + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0)); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, GUID* arg0, int[] arg1) { + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0), cast(int)cast(int*)arg1); +} + +public static int VtblCall(int fnNumber, void* ppVtbl, GUID* arg0, int arg1, int arg2, int arg3, int[] arg4) { + Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0), arg1, arg2, arg3, cast(int)cast(int*)arg4); +} +public static int VtblCall(int fnNumber, void* ppVtbl, GUID* arg0, int arg1, int arg2, int arg3, int arg4) { + Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0), arg1, arg2, arg3, arg4); +} +public static int VtblCall(int fnNumber, void* ppVtbl, GUID* arg0, int arg1, OLECMD* arg2, OLECMDTEXT* arg3) { + Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0), arg1, cast(int)(arg2), cast(int)(arg3)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, LICINFO* arg0) { + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, RECT* arg0, int arg1, int arg2) { + Function4 fn = cast(Function4)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0), arg1, arg2); +} +public static int VtblCall(int fnNumber, void* ppVtbl, RECT* arg0, RECT* arg1) { + Function3 fn = cast(Function3)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0), cast(int)(arg1)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, RECT* arg0) { + Function2 fn = cast(Function2)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, cast(int)(arg0)); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4) { + Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)cast(int*)arg1, cast(int)cast(int*)arg2, cast(int)cast(int*)arg3, cast(int)cast(int*)arg4); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int[] arg1, int arg2, int[] arg3) { + Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, cast(int)cast(int*)arg1, arg2, cast(int)cast(int*)arg3); +} + + +// Start ACCESSIBILITY +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3) { + Function5 fn = cast(Function5)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2, arg3); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4) { + Function6 fn = cast(Function6)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) { + Function7 fn = cast(Function7)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5); +} +public static int VtblCall(int fnNumber, void* ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7) { + Function9 fn = cast(Function9)(*cast(int **)ppVtbl)[fnNumber]; + return fn(ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} + +*/ + + +public static const int CHILDID_SELF = 0; +public static const int CO_E_OBJNOTCONNECTED = 0x800401FD; + +//public static const int ROLE_SYSTEM_TITLEBAR = 0x1; +public static const int ROLE_SYSTEM_MENUBAR = 0x2; +public static const int ROLE_SYSTEM_SCROLLBAR = 0x3; +//public static const int ROLE_SYSTEM_GRIP = 0x4; +//public static const int ROLE_SYSTEM_SOUND = 0x5; +//public static const int ROLE_SYSTEM_CURSOR = 0x6; +//public static const int ROLE_SYSTEM_CARET = 0x7; +//public static const int ROLE_SYSTEM_ALERT = 0x8; +public static const int ROLE_SYSTEM_WINDOW = 0x9; +public static const int ROLE_SYSTEM_CLIENT = 0xa; +public static const int ROLE_SYSTEM_MENUPOPUP = 0xb; +public static const int ROLE_SYSTEM_MENUITEM = 0xc; +public static const int ROLE_SYSTEM_TOOLTIP = 0xd; +//public static const int ROLE_SYSTEM_APPLICATION = 0xe; +//public static const int ROLE_SYSTEM_DOCUMENT = 0xf; +//public static const int ROLE_SYSTEM_PANE = 0x10; +//public static const int ROLE_SYSTEM_CHART = 0x11; +public static const int ROLE_SYSTEM_DIALOG = 0x12; +//public static const int ROLE_SYSTEM_BORDER = 0x13; +//public static const int ROLE_SYSTEM_GROUPING = 0x14; +public static const int ROLE_SYSTEM_SEPARATOR = 0x15; +public static const int ROLE_SYSTEM_TOOLBAR = 0x16; +//public static const int ROLE_SYSTEM_STATUSBAR = 0x17; +public static const int ROLE_SYSTEM_TABLE = 0x18; +public static const int ROLE_SYSTEM_COLUMNHEADER = 0x19; +public static const int ROLE_SYSTEM_ROWHEADER = 0x1a; +//public static const int ROLE_SYSTEM_COLUMN = 0x1b; +//public static const int ROLE_SYSTEM_ROW = 0x1c; +public static const int ROLE_SYSTEM_CELL = 0x1d; +public static const int ROLE_SYSTEM_LINK = 0x1e; +//public static const int ROLE_SYSTEM_HELPBALLOON = 0x1f; +//public static const int ROLE_SYSTEM_CHARACTER = 0x20; +public static const int ROLE_SYSTEM_LIST = 0x21; +public static const int ROLE_SYSTEM_LISTITEM = 0x22; +public static const int ROLE_SYSTEM_OUTLINE = 0x23; +public static const int ROLE_SYSTEM_OUTLINEITEM = 0x24; +public static const int ROLE_SYSTEM_PAGETAB = 0x25; +//public static const int ROLE_SYSTEM_PROPERTYPAGE = 0x26; +//public static const int ROLE_SYSTEM_INDICATOR = 0x27; +//public static const int ROLE_SYSTEM_GRAPHIC = 0x28; +public static const int ROLE_SYSTEM_STATICTEXT = 0x29; +public static const int ROLE_SYSTEM_TEXT = 0x2a; +public static const int ROLE_SYSTEM_PUSHBUTTON = 0x2b; +public static const int ROLE_SYSTEM_CHECKBUTTON = 0x2c; +public static const int ROLE_SYSTEM_RADIOBUTTON = 0x2d; +public static const int ROLE_SYSTEM_COMBOBOX = 0x2e; +//public static const int ROLE_SYSTEM_DROPLIST = 0x2f; +public static const int ROLE_SYSTEM_PROGRESSBAR = 0x30; +//public static const int ROLE_SYSTEM_DIAL = 0x31; +//public static const int ROLE_SYSTEM_HOTKEYFIELD = 0x32; +public static const int ROLE_SYSTEM_SLIDER = 0x33; +//public static const int ROLE_SYSTEM_SPINBUTTON = 0x34; +//public static const int ROLE_SYSTEM_DIAGRAM = 0x35; +//public static const int ROLE_SYSTEM_ANIMATION = 0x36; +//public static const int ROLE_SYSTEM_EQUATION = 0x37; +//public static const int ROLE_SYSTEM_BUTTONDROPDOWN = 0x38; +//public static const int ROLE_SYSTEM_BUTTONMENU = 0x39; +//public static const int ROLE_SYSTEM_BUTTONDROPDOWNGRID = 0x3a; +//public static const int ROLE_SYSTEM_WHITESPACE = 0x3b; +public static const int ROLE_SYSTEM_PAGETABLIST = 0x3c; +//public static const int ROLE_SYSTEM_CLOCK = 0x3d; + +public static const int STATE_SYSTEM_NORMAL = 0; +//public static const int STATE_SYSTEM_UNAVAILABLE = 0x1; +public static const int STATE_SYSTEM_SELECTED = 0x2; +public static const int STATE_SYSTEM_FOCUSED = 0x4; +public static const int STATE_SYSTEM_PRESSED = 0x8; +public static const int STATE_SYSTEM_CHECKED = 0x10; +public static const int STATE_SYSTEM_MIXED = 0x20; +//public static const int STATE_SYSTEM_INDETERMINATE = STATE_SYSTEM_MIXED; +public static const int STATE_SYSTEM_READONLY = 0x40; +public static const int STATE_SYSTEM_HOTTRACKED = 0x80; +//public static const int STATE_SYSTEM_DEFAULT = 0x100; +public static const int STATE_SYSTEM_EXPANDED = 0x200; +public static const int STATE_SYSTEM_COLLAPSED = 0x400; +public static const int STATE_SYSTEM_BUSY = 0x800; +//public static const int STATE_SYSTEM_FLOATING = 0x1000; +//public static const int STATE_SYSTEM_MARQUEED = 0x2000; +//public static const int STATE_SYSTEM_ANIMATED = 0x4000; +public static const int STATE_SYSTEM_INVISIBLE = 0x8000; +public static const int STATE_SYSTEM_OFFSCREEN = 0x10000; +public static const int STATE_SYSTEM_SIZEABLE = 0x20000; +//public static const int STATE_SYSTEM_MOVEABLE = 0x40000; +//public static const int STATE_SYSTEM_SELFVOICING = 0x80000; +public static const int STATE_SYSTEM_FOCUSABLE = 0x100000; +public static const int STATE_SYSTEM_SELECTABLE = 0x200000; +public static const int STATE_SYSTEM_LINKED = 0x400000; +//public static const int STATE_SYSTEM_TRAVERSED = 0x800000; +public static const int STATE_SYSTEM_MULTISELECTABLE = 0x1000000; +//public static const int STATE_SYSTEM_EXTSELECTABLE = 0x2000000; +//public static const int STATE_SYSTEM_ALERT_LOW = 0x4000000; +//public static const int STATE_SYSTEM_ALERT_MEDIUM = 0x8000000; +//public static const int STATE_SYSTEM_ALERT_HIGH = 0x10000000; +//public static const int STATE_SYSTEM_PROTECTED = 0x20000000; +//public static const int STATE_SYSTEM_VALID = 0x3fffffff; + +/* End ACCESSIBILITY */ + +} + +/** + * <Shawn> difference between WCHARzToStr(pwstr, -1) : + * BSTRToStr() internally call WCHARzToStr(pwstr, length) with length set, + * instead to determine the null ended, this mean BSTRToStr() can get string + * which has embedded null characters. + */ +// BSTR is aliased to wchar* +// Note : Free the "bstr" memory if freeTheString is true, default false +String BSTRToStr( /*BSTR*/ inout wchar* bstr, bool freeTheString = false){ + if(bstr is null) return null; + int size = (SysStringByteLen(bstr) + 1)/wchar.sizeof; + String result = WCHARzToStr(bstr, size); + if(freeTheString) { + // free the string and set ptr to null + SysFreeString(bstr); + bstr = null; + } + return result; +} + + + + +
--- a/dwt/internal/ole/win32/COMAPI.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/ole/win32/COMAPI.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,284 +1,284 @@ -/* - * All COM APIs required by DWT, all APIs prototype copied from MSDN 2003 - * don't import this module directly, import std.internal.ole.win32.com instead - * - * author : Shawn Liu - */ - - -module dwt.internal.ole.win32.COMAPI; - - -//private import std.c.windows.windows; -//private import std.c.windows.com; -private import dwt.internal.win32.WINTYPES; -private import dwt.internal.ole.win32.COMTYPES; -private import dwt.internal.ole.win32.OBJIDL; -private import dwt.internal.ole.win32.OLEIDL; -private import dwt.internal.ole.win32.OAIDL; -private import dwt.internal.ole.win32.extras; - -extern(Windows){ - -WINOLEAPI CreateStreamOnHGlobal( - HGLOBAL hGlobal, //Memory handle for the stream object - BOOL fDeleteOnRelease, //Whether to free memory when the object - // is released - LPSTREAM * ppstm //Address of output variable that - // receives the IStream interface pointer -); -HRESULT CLSIDFromProgID( - LPCOLESTR lpszProgID, - LPCLSID pclsid -); -HRESULT CLSIDFromString( - LPOLESTR lpsz, - LPCLSID pclsid -); -STDAPI CoCreateInstance( - REFCLSID rclsid, - LPUNKNOWN pUnkOuter, - DWORD dwClsContext, - REFIID riid, - LPVOID * ppv -); -void CoFreeUnusedLibraries(); -STDAPI CoGetClassObject( - REFCLSID rclsid, - DWORD dwClsContext, - COSERVERINFO * pServerInfo, - REFIID riid, - LPVOID * ppv -); -STDAPI CoLockObjectExternal( - LPUNKNOWN pUnk, - BOOL fLock, - BOOL fLastUnlockReleases -); -LPVOID CoTaskMemAlloc( - ULONG cb -); -void CoTaskMemFree( - void * pv -); - -WINOLEAPI DoDragDrop( - LPDATAOBJECT pDataObject, //Pointer to the data object - LPDROPSOURCE pDropSource, //Pointer to the source - DWORD dwOKEffect, //Effects allowed by the source - DWORD * pdwEffect //Pointer to effects on the source -); - -WINOLEAPI GetClassFile( - LPCWSTR szFileName, - CLSID * pclsid -); -WINOLEAPI IIDFromString( - LPOLESTR lpsz, - LPIID lpiid -); -BOOL IsEqualGUID( - REFGUID rguid1, - REFGUID rguid2 -); -WINOLEAPI OleCreate( - REFCLSID rclsid, //CLSID of embedded object to be created - REFIID riid, //Reference to the identifier of the interface - // used to communicate with new object - DWORD renderopt, //RENDEROPT value indicating cached capabilities - FORMATETC * pFormatEtc, - //Pointer to a FORMATETC structure - IOleClientSite * pClientSite, - //Pointer to request services from the container - LPSTORAGE pStg, //Pointer to storage for the object - void ** ppvObject //Address of output variable that receives the - // interface pointer requested in riid -); -WINOLEAPI OleCreateFromFile( - REFCLSID rclsid, //Reserved. Must be CLSID_NULL - LPCOLESTR lpszFileName, //Pointer to full path of file used to - // create object - REFIID riid, //Reference to the identifier of the - // interface to be used to communicate with - // new object - DWORD renderopt, //Value from OLERENDER - LPFORMATETC pFormatEtc, //Pointer to the FORMATETC structure - LPOLECLIENTSITE pClientSite, - //Pointer to an interface - LPSTORAGE pStg, //Pointer tothe interface to be used as - // object storage - LPVOID * ppvObj //Address of output variable that - // receives the interface pointer requested - // in riid -); - -STDAPI OleCreatePropertyFrame( - HWND hwndOwner, //Parent window of property sheet dialog box - UINT x, //Horizontal position for dialog box - UINT y, //Vertical position for dialog box - LPCOLESTR lpszCaption, - //Pointer to the dialog box caption - ULONG cObjects, //Number of object pointers in lplpUnk - LPUNKNOWN * lplpUnk, - //Pointer to the objects for property sheet - ULONG cPages, //Number of property pages in lpPageClsID - LPCLSID lpPageClsID, - //Array of CLSIDs for each property page - LCID lcid, //Locale identifier for property sheet locale - DWORD dwReserved, //Reserved - LPVOID lpvReserved //Reserved -); -WINOLEAPI OleDraw( - LPUNKNOWN pUnk, //Pointer to the view object to be drawn - DWORD dwAspect, //How the object is to be represented - HDC hdcDraw, //Device context on which to draw - LPCRECT lprcBounds //Pointer to the rectangle in which the object - // is drawn -); -WINOLEAPI OleFlushClipboard(); -WINOLEAPI OleGetClipboard( - LPDATAOBJECT * ppDataObj //Address of output variable that - // receives the IDataObject interface - // pointer -); -WINOLEAPI OleIsCurrentClipboard( - LPDATAOBJECT pDataObject //Pointer to the data object previously - // copied or cut -); -BOOL OleIsRunning( - LPOLEOBJECT pObject //Pointer to the interface -); -WINOLEAPI OleLoad( - LPSTORAGE pStg, //Pointer to the storage object from which to - // load - REFIID riid, //Reference to the identifier of the interface - IOleClientSite * pClientSite, - //Pointer to the client site for the object - LPVOID * ppvObj //Address of output variable that receives the - // interface pointer requested in riid -); -WINOLEAPI OleRun( - LPUNKNOWN pUnknown //Pointer to interface on the object -); -WINOLEAPI OleSave( - LPPERSISTSTORAGE pPS, //Pointer to the object to be saved - LPSTORAGE pStg, //Pointer to the destination storage to - // which pPS is saved - BOOL fSameAsLoad //Whether the object was loaded from pstg - // or not -); -WINOLEAPI OleSetClipboard( - LPDATAOBJECT pDataObj //Pointer to the data object being copied - // or cut -); -WINOLEAPI OleSetContainedObject( - LPUNKNOWN pUnk, //Pointer to the interface on the embedded object - BOOL fContained //Indicates if the object is embedded -); -WINOLEAPI OleSetMenuDescriptor( - HOLEMENU holemenu, //Handle to the composite menu descriptor - HWND hwndFrame, //Handle to the container's frame window - HWND hwndActiveObject, //Handle to the object's in-place - // activation window - LPOLEINPLACEFRAME lpFrame, //Pointer to the container's frame - // window - LPOLEINPLACEACTIVEOBJECT lpActiveObj - //Active in-place object -); -STDAPI OleTranslateColor ( - OLE_COLOR clr, //Color to be converted into a COLORREF - HPALETTE hpal, //Palette used for conversion - COLORREF *pcolorref //Pointer to the caller's variable that - // receives the converted result -); -WINOLEAPI ProgIDFromCLSID( - REFCLSID clsid, - LPOLESTR * lplpszProgID -); - -WINOLEAPI RegisterDragDrop( - HWND hwnd, //Handle to a window that can accept drops - LPDROPTARGET pDropTarget - //Pointer to object that is to be target of drop -); -void ReleaseStgMedium( - STGMEDIUM * pmedium //Pointer to storage medium to be freed -); -WINOLEAPI RevokeDragDrop( - HWND hwnd //Handle to a window that can accept drops -); -HRESULT SHDoDragDrop( - HWND hwnd, - IDataObject *pdtobj, - IDropSource *pdsrc, - DWORD dwEffect, - DWORD *pdwEffect -); -HRESULT StgCreateDocfile( - WCHAR* pwcsName, - DWORD grfMode, - DWORD reserved, - LPSTORAGE* ppstgOpen -); - -WINOLEAPI StgIsStorageFile( - WCHAR* pwcsName -); - -HRESULT StgOpenStorage( - WCHAR* pwcsName, - LPSTORAGE pstgPriority, - DWORD grfMode, - SNB snbExclude, - DWORD reserved, - LPSTORAGE * ppstgOpen -); - -WINOLEAPI StringFromCLSID( - REFCLSID rclsid, - LPOLESTR * ppsz -); -BSTR SysAllocString( - OLECHAR * sz -); -VOID SysFreeString( - BSTR bstr -); -UINT SysStringByteLen( - BSTR bstr -); -HRESULT VariantChangeType( - VARIANTARG * pvargDest, - VARIANTARG * pvarSrc, - ushort wFlags, - VARTYPE vt -); - -HRESULT VariantClear( - VARIANTARG * pvarg -); -HRESULT VariantCopy( - VARIANTARG * pvargDest, - VARIANTARG * pvargSrc -); -VOID VariantInit( - VARIANTARG * pvarg -); -WINOLEAPI WriteClassStg( - LPSTORAGE pStg, - REFCLSID rclsid -); - -STDAPI CreateStdAccessibleObject( - HWND hwnd, - LONG idObject, - REFIID riidInterface, - void** ppvObject -); -LRESULT LresultFromObject( - REFIID riid, - WPARAM wParam, - LPUNKNOWN pAcc -); - -} // end of comapi +/* + * All COM APIs required by DWT, all APIs prototype copied from MSDN 2003 + * don't import this module directly, import std.internal.ole.win32.com instead + * + * author : Shawn Liu + */ + + +module dwt.internal.ole.win32.COMAPI; + + +//private import std.c.windows.windows; +//private import std.c.windows.com; +private import dwt.internal.win32.WINTYPES; +private import dwt.internal.ole.win32.COMTYPES; +private import dwt.internal.ole.win32.OBJIDL; +private import dwt.internal.ole.win32.OLEIDL; +private import dwt.internal.ole.win32.OAIDL; +private import dwt.internal.ole.win32.extras; + +extern(Windows){ + +WINOLEAPI CreateStreamOnHGlobal( + HGLOBAL hGlobal, //Memory handle for the stream object + BOOL fDeleteOnRelease, //Whether to free memory when the object + // is released + LPSTREAM * ppstm //Address of output variable that + // receives the IStream interface pointer +); +HRESULT CLSIDFromProgID( + LPCOLESTR lpszProgID, + LPCLSID pclsid +); +HRESULT CLSIDFromString( + LPOLESTR lpsz, + LPCLSID pclsid +); +STDAPI CoCreateInstance( + REFCLSID rclsid, + LPUNKNOWN pUnkOuter, + DWORD dwClsContext, + REFIID riid, + LPVOID * ppv +); +void CoFreeUnusedLibraries(); +STDAPI CoGetClassObject( + REFCLSID rclsid, + DWORD dwClsContext, + COSERVERINFO * pServerInfo, + REFIID riid, + LPVOID * ppv +); +STDAPI CoLockObjectExternal( + LPUNKNOWN pUnk, + BOOL fLock, + BOOL fLastUnlockReleases +); +LPVOID CoTaskMemAlloc( + ULONG cb +); +void CoTaskMemFree( + void * pv +); + +WINOLEAPI DoDragDrop( + LPDATAOBJECT pDataObject, //Pointer to the data object + LPDROPSOURCE pDropSource, //Pointer to the source + DWORD dwOKEffect, //Effects allowed by the source + DWORD * pdwEffect //Pointer to effects on the source +); + +WINOLEAPI GetClassFile( + LPCWSTR szFileName, + CLSID * pclsid +); +WINOLEAPI IIDFromString( + LPOLESTR lpsz, + LPIID lpiid +); +BOOL IsEqualGUID( + REFGUID rguid1, + REFGUID rguid2 +); +WINOLEAPI OleCreate( + REFCLSID rclsid, //CLSID of embedded object to be created + REFIID riid, //Reference to the identifier of the interface + // used to communicate with new object + DWORD renderopt, //RENDEROPT value indicating cached capabilities + FORMATETC * pFormatEtc, + //Pointer to a FORMATETC structure + IOleClientSite * pClientSite, + //Pointer to request services from the container + LPSTORAGE pStg, //Pointer to storage for the object + void ** ppvObject //Address of output variable that receives the + // interface pointer requested in riid +); +WINOLEAPI OleCreateFromFile( + REFCLSID rclsid, //Reserved. Must be CLSID_NULL + LPCOLESTR lpszFileName, //Pointer to full path of file used to + // create object + REFIID riid, //Reference to the identifier of the + // interface to be used to communicate with + // new object + DWORD renderopt, //Value from OLERENDER + LPFORMATETC pFormatEtc, //Pointer to the FORMATETC structure + LPOLECLIENTSITE pClientSite, + //Pointer to an interface + LPSTORAGE pStg, //Pointer tothe interface to be used as + // object storage + LPVOID * ppvObj //Address of output variable that + // receives the interface pointer requested + // in riid +); + +STDAPI OleCreatePropertyFrame( + HWND hwndOwner, //Parent window of property sheet dialog box + UINT x, //Horizontal position for dialog box + UINT y, //Vertical position for dialog box + LPCOLESTR lpszCaption, + //Pointer to the dialog box caption + ULONG cObjects, //Number of object pointers in lplpUnk + LPUNKNOWN * lplpUnk, + //Pointer to the objects for property sheet + ULONG cPages, //Number of property pages in lpPageClsID + LPCLSID lpPageClsID, + //Array of CLSIDs for each property page + LCID lcid, //Locale identifier for property sheet locale + DWORD dwReserved, //Reserved + LPVOID lpvReserved //Reserved +); +WINOLEAPI OleDraw( + LPUNKNOWN pUnk, //Pointer to the view object to be drawn + DWORD dwAspect, //How the object is to be represented + HDC hdcDraw, //Device context on which to draw + LPCRECT lprcBounds //Pointer to the rectangle in which the object + // is drawn +); +WINOLEAPI OleFlushClipboard(); +WINOLEAPI OleGetClipboard( + LPDATAOBJECT * ppDataObj //Address of output variable that + // receives the IDataObject interface + // pointer +); +WINOLEAPI OleIsCurrentClipboard( + LPDATAOBJECT pDataObject //Pointer to the data object previously + // copied or cut +); +BOOL OleIsRunning( + LPOLEOBJECT pObject //Pointer to the interface +); +WINOLEAPI OleLoad( + LPSTORAGE pStg, //Pointer to the storage object from which to + // load + REFIID riid, //Reference to the identifier of the interface + IOleClientSite * pClientSite, + //Pointer to the client site for the object + LPVOID * ppvObj //Address of output variable that receives the + // interface pointer requested in riid +); +WINOLEAPI OleRun( + LPUNKNOWN pUnknown //Pointer to interface on the object +); +WINOLEAPI OleSave( + LPPERSISTSTORAGE pPS, //Pointer to the object to be saved + LPSTORAGE pStg, //Pointer to the destination storage to + // which pPS is saved + BOOL fSameAsLoad //Whether the object was loaded from pstg + // or not +); +WINOLEAPI OleSetClipboard( + LPDATAOBJECT pDataObj //Pointer to the data object being copied + // or cut +); +WINOLEAPI OleSetContainedObject( + LPUNKNOWN pUnk, //Pointer to the interface on the embedded object + BOOL fContained //Indicates if the object is embedded +); +WINOLEAPI OleSetMenuDescriptor( + HOLEMENU holemenu, //Handle to the composite menu descriptor + HWND hwndFrame, //Handle to the container's frame window + HWND hwndActiveObject, //Handle to the object's in-place + // activation window + LPOLEINPLACEFRAME lpFrame, //Pointer to the container's frame + // window + LPOLEINPLACEACTIVEOBJECT lpActiveObj + //Active in-place object +); +STDAPI OleTranslateColor ( + OLE_COLOR clr, //Color to be converted into a COLORREF + HPALETTE hpal, //Palette used for conversion + COLORREF *pcolorref //Pointer to the caller's variable that + // receives the converted result +); +WINOLEAPI ProgIDFromCLSID( + REFCLSID clsid, + LPOLESTR * lplpszProgID +); + +WINOLEAPI RegisterDragDrop( + HWND hwnd, //Handle to a window that can accept drops + LPDROPTARGET pDropTarget + //Pointer to object that is to be target of drop +); +void ReleaseStgMedium( + STGMEDIUM * pmedium //Pointer to storage medium to be freed +); +WINOLEAPI RevokeDragDrop( + HWND hwnd //Handle to a window that can accept drops +); +HRESULT SHDoDragDrop( + HWND hwnd, + IDataObject *pdtobj, + IDropSource *pdsrc, + DWORD dwEffect, + DWORD *pdwEffect +); +HRESULT StgCreateDocfile( + WCHAR* pwcsName, + DWORD grfMode, + DWORD reserved, + LPSTORAGE* ppstgOpen +); + +WINOLEAPI StgIsStorageFile( + WCHAR* pwcsName +); + +HRESULT StgOpenStorage( + WCHAR* pwcsName, + LPSTORAGE pstgPriority, + DWORD grfMode, + SNB snbExclude, + DWORD reserved, + LPSTORAGE * ppstgOpen +); + +WINOLEAPI StringFromCLSID( + REFCLSID rclsid, + LPOLESTR * ppsz +); +BSTR SysAllocString( + OLECHAR * sz +); +VOID SysFreeString( + BSTR bstr +); +UINT SysStringByteLen( + BSTR bstr +); +HRESULT VariantChangeType( + VARIANTARG * pvargDest, + VARIANTARG * pvarSrc, + ushort wFlags, + VARTYPE vt +); + +HRESULT VariantClear( + VARIANTARG * pvarg +); +HRESULT VariantCopy( + VARIANTARG * pvargDest, + VARIANTARG * pvargSrc +); +VOID VariantInit( + VARIANTARG * pvarg +); +WINOLEAPI WriteClassStg( + LPSTORAGE pStg, + REFCLSID rclsid +); + +STDAPI CreateStdAccessibleObject( + HWND hwnd, + LONG idObject, + REFIID riidInterface, + void** ppvObject +); +LRESULT LresultFromObject( + REFIID riid, + WPARAM wParam, + LPUNKNOWN pAcc +); + +} // end of comapi
--- a/dwt/internal/ole/win32/COMTYPES.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/ole/win32/COMTYPES.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,60 +1,60 @@ -/* - * extra COM types not define in any other modules - * don't import this module directly, import std.internal.ole.win32.com instead - * - * author : Shawn Liu - */ - -module dwt.internal.ole.win32.COMTYPES; - -private import dwt.internal.win32.WINTYPES; -private import dwt.internal.ole.win32.extras; -//private import std.c.windows.windows; -//private import std.c.windows.com; - -// private import dwt.internal.ole.win32.extras; - - - -alias IID* LPIID; -alias HRESULT STDAPI; -alias DWORD OLE_COLOR; - -// for temp use -// alias void* ComObj; - -struct CAUUID { - ULONG cElems; - GUID* pElems; -} -struct CONNECTDATA -{ - LPUNKNOWN pUnk; - DWORD dwCookie; -} - -struct CONTROLINFO { - ULONG cb; - HACCEL hAccel; - USHORT cAccel; - DWORD dwFlags; -} - -struct LICINFO { - ULONG cbLicInfo; - BOOL fRuntimeKeyAvail; - BOOL fLicVerified; -} - -struct POINTF -{ - FLOAT x; - FLOAT y; -} - - - - - - - +/* + * extra COM types not define in any other modules + * don't import this module directly, import std.internal.ole.win32.com instead + * + * author : Shawn Liu + */ + +module dwt.internal.ole.win32.COMTYPES; + +private import dwt.internal.win32.WINTYPES; +private import dwt.internal.ole.win32.extras; +//private import std.c.windows.windows; +//private import std.c.windows.com; + +// private import dwt.internal.ole.win32.extras; + + + +alias IID* LPIID; +alias HRESULT STDAPI; +alias DWORD OLE_COLOR; + +// for temp use +// alias void* ComObj; + +struct CAUUID { + ULONG cElems; + GUID* pElems; +} +struct CONNECTDATA +{ + LPUNKNOWN pUnk; + DWORD dwCookie; +} + +struct CONTROLINFO { + ULONG cb; + HACCEL hAccel; + USHORT cAccel; + DWORD dwFlags; +} + +struct LICINFO { + ULONG cbLicInfo; + BOOL fRuntimeKeyAvail; + BOOL fLicVerified; +} + +struct POINTF +{ + FLOAT x; + FLOAT y; +} + + + + + + +
--- a/dwt/internal/ole/win32/DOCOBJ.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/ole/win32/DOCOBJ.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,407 +1,407 @@ -module dwt.internal.ole.win32.DOCOBJ; - -//private import std.c.windows.windows; -//private import std.c.windows.com; -private import dwt.internal.win32.OS; -private import dwt.internal.win32.WINTYPES; -private import dwt.internal.ole.win32.extras; -private import dwt.internal.ole.win32.OLEIDL; -//private import dwt.internal.ole.win32.OAIDL; -private import dwt.internal.ole.win32.OBJIDL; - -extern( Windows ) { - -alias wchar wchar_t; - -//+--------------------------------------------------------------------------- -// -// Copyright 1995 - 1998 Microsoft Corporation. All Rights Reserved. -// -// Contents: OLE Document Object interfaces -// -//---------------------------------------------------------------------------- - - -/* -#define HWND UserHWND -#define HACCEL UserHACCEL -#define HDC UserHDC -#define HFONT UserHFONT -#define MSG UserMSG -#define BSTR UserBSTR -#define EXCEPINFO UserEXCEPINFO -#define VARIANT UserVARIANT -*/ -/* -interface IOleDocument; -interface IOleDocumentSite; -interface IOleDocumentView; -interface IEnumOleDocumentViews; -interface IContinueCallback; -interface IPrint; -interface IOleCommandTarget; - */ - - - -//+--------------------------------------------------------------------------- -// -// Copyright (C) Microsoft Corporation, 1995-1997. -// -// Contents: IOleDocument interface definition -// -//---------------------------------------------------------------------------- -enum DOCMISC { - DOCMISC_CANCREATEMULTIPLEVIEWS = 1, - DOCMISC_SUPPORTCOMPLEXRECTANGLES = 2, - DOCMISC_CANTOPENEDIT = 4, // fails the IOleDocumentView::Open method - DOCMISC_NOFILESUPPORT = 8, // does not support read/writing to a file -} - -interface IOleDocument : IUnknown -{ - HRESULT CreateView(IOleInPlaceSite pIPSite,IStream pstm,DWORD dwReserved,IOleDocumentView *ppView); - - HRESULT GetDocMiscStatus(DWORD *pdwStatus); - - HRESULT EnumViews( IEnumOleDocumentViews * ppEnum, IOleDocumentView * ppView); -} -alias IOleDocument LPOLEDOCUMENT; - - -//+--------------------------------------------------------------------------- -// -// Copyright (C) Microsoft Corporation, 1995-1997. -// -// Contents: IOleDocumentSite interface definition -// -//---------------------------------------------------------------------------- -interface IOleDocumentSite : IUnknown -{ - HRESULT ActivateMe(IOleDocumentView pViewToActivate); -} -alias IOleDocumentSite LPOLEDOCUMENTSITE; - - -//+--------------------------------------------------------------------------- -// -// Copyright (C) Microsoft Corporation, 1995-1997. -// -// Contents: IOleDocumentView interface definition -// -//---------------------------------------------------------------------------- -interface IOleDocumentView : IUnknown -{ - HRESULT SetInPlaceSite(IOleInPlaceSite pIPSite); - - HRESULT GetInPlaceSite(IOleInPlaceSite * ppIPSite); - - HRESULT GetDocument(IUnknown *ppunk); - - HRESULT SetRect(LPRECT prcView); - - HRESULT GetRect(LPRECT prcView); - - HRESULT SetRectComplex(LPRECT prcView,LPRECT prcHScroll,LPRECT prcVScroll,LPRECT prcSizeBox); - - HRESULT Show(BOOL fShow); - - HRESULT UIActivate(BOOL fUIActivate); - - HRESULT Open(); - - HRESULT CloseView(DWORD dwReserved); - - HRESULT SaveViewState(LPSTREAM pstm); - - HRESULT ApplyViewState(LPSTREAM pstm); - - HRESULT Clone(IOleInPlaceSite pIPSiteNew,IOleDocumentView *ppViewNew); -} -alias IOleDocumentView LPOLEDOCUMENTVIEW; - - -//+--------------------------------------------------------------------------- -// -// Copyright (C) Microsoft Corporation, 1995-1997. -// -// Contents: IEnumOleDocumentViews interface definition -// -//---------------------------------------------------------------------------- -interface IEnumOleDocumentViews : IUnknown -{ - HRESULT Next( - ULONG cViews, - IOleDocumentView * rgpView, - ULONG *pcFetched); - - HRESULT Skip(ULONG cViews); - - HRESULT Reset(); - - HRESULT Clone(IEnumOleDocumentViews *ppEnum); -} -alias IEnumOleDocumentViews LPENUMOLEDOCUMENTVIEWS; - - - -//+--------------------------------------------------------------------------- -// -// Copyright (C) Microsoft Corporation, 1995-1997. -// -// Contents: IContinueCallback interface definition -// -//---------------------------------------------------------------------------- - -interface IContinueCallback : IUnknown -{ - HRESULT FContinue(); - - HRESULT FContinuePrinting(LONG nCntPrinted,LONG nCurPage, wchar_t * pwszPrintStatus); -} -alias IContinueCallback LPCONTINUECALLBACK; - - -//+--------------------------------------------------------------------------- -// -// Copyright (C) Microsoft Corporation, 1995-1997. -// -// Contents: IPrint interface definition -// -//---------------------------------------------------------------------------- -enum PRINTFLAG - { - PRINTFLAG_MAYBOTHERUSER = 1, - PRINTFLAG_PROMPTUSER = 2, - PRINTFLAG_USERMAYCHANGEPRINTER = 4, - PRINTFLAG_RECOMPOSETODEVICE = 8, - PRINTFLAG_DONTACTUALLYPRINT = 16, - PRINTFLAG_FORCEPROPERTIES = 32, - PRINTFLAG_PRINTTOFILE = 64 - } ; - -struct PAGERANGE - { - LONG nFromPage; - LONG nToPage; - } - -struct PAGESET - { - ULONG cbStruct; - BOOL fOddPages; - BOOL fEvenPages; - ULONG cPageRange; - PAGERANGE[1] rgPages; - } - -interface IPrint : IUnknown -{ - - HRESULT SetInitialPageNum(LONG nFirstPage); - - HRESULT GetPageInfo(LONG *pnFirstPage,LONG *pcPages); - - HRESULT Print( - DWORD grfFlags, -DVTARGETDEVICE **pptd, -PAGESET ** ppPageSet, -STGMEDIUM * pstgmOptions, -IContinueCallback pcallback, -LONG nFirstPage, -LONG *pcPagesPrinted, -LONG *pnLastPage); -} -alias IPrint LPPRINT; - - -//+--------------------------------------------------------------------------- -// -// Copyright (C) Microsoft Corporation, 1995-1997. -// -// Contents: IOleCommandTarget interface definition -// -//---------------------------------------------------------------------------- -enum OLECMDF - { - OLECMDF_SUPPORTED = 0x00000001, - OLECMDF_ENABLED = 0x00000002, - OLECMDF_LATCHED = 0x00000004, - OLECMDF_NINCHED = 0x00000008, - } - - - - -struct OLECMD { - ULONG cmdID; - DWORD cmdf; - } - -struct OLECMDTEXT{ - DWORD cmdtextf; - ULONG cwActual; - ULONG cwBuf; /* size in wide chars of the buffer for text */ - wchar_t[1] rgwz; /* Array into which callee writes the text */ -} - -enum OLECMDTEXTF - { - OLECMDTEXTF_NONE = 0, - OLECMDTEXTF_NAME = 1, - OLECMDTEXTF_STATUS = 2, - } - -enum OLECMDEXECOPT - { - OLECMDEXECOPT_DODEFAULT = 0, - OLECMDEXECOPT_PROMPTUSER = 1, - OLECMDEXECOPT_DONTPROMPTUSER = 2, - OLECMDEXECOPT_SHOWHELP = 3 - } -enum OLECMDID { - OLECMDID_OPEN = 1, - OLECMDID_NEW = 2, - OLECMDID_SAVE = 3, - OLECMDID_SAVEAS = 4, - OLECMDID_SAVECOPYAS = 5, - OLECMDID_PRINT = 6, - OLECMDID_PRINTPREVIEW = 7, - OLECMDID_PAGESETUP = 8, - OLECMDID_SPELL = 9, - OLECMDID_PROPERTIES = 10, - OLECMDID_CUT = 11, - OLECMDID_COPY = 12, - OLECMDID_PASTE = 13, - OLECMDID_PASTESPECIAL = 14, - OLECMDID_UNDO = 15, - OLECMDID_REDO = 16, - OLECMDID_SELECTALL = 17, - OLECMDID_CLEARSELECTION = 18, - OLECMDID_ZOOM = 19, - OLECMDID_GETZOOMRANGE = 20, - OLECMDID_UPDATECOMMANDS = 21, - OLECMDID_REFRESH = 22, - OLECMDID_STOP = 23, - OLECMDID_HIDETOOLBARS = 24, - OLECMDID_SETPROGRESSMAX = 25, - OLECMDID_SETPROGRESSPOS = 26, - OLECMDID_SETPROGRESSTEXT = 27, - OLECMDID_SETTITLE = 28, - OLECMDID_SETDOWNLOADSTATE = 29, - OLECMDID_STOPDOWNLOAD = 30, - OLECMDID_ONTOOLBARACTIVATED = 31, - OLECMDID_FIND = 32, - OLECMDID_DELETE = 33, - OLECMDID_HTTPEQUIV = 34, - OLECMDID_HTTPEQUIV_DONE = 35, - OLECMDID_ENABLE_INTERACTION = 36, - OLECMDID_ONUNLOAD = 37, - OLECMDID_PROPERTYBAG2 = 38, - OLECMDID_PREREFRESH = 39 - } - -interface IOleCommandTarget : IUnknown -{ - -/* error codes */ -/* -cpp_quote("#define OLECMDERR_E_FIRST (OLE_E_LAST+1)") -cpp_quote("#define OLECMDERR_E_NOTSUPPORTED (OLECMDERR_E_FIRST)") -cpp_quote("#define OLECMDERR_E_DISABLED (OLECMDERR_E_FIRST+1)") -cpp_quote("#define OLECMDERR_E_NOHELP (OLECMDERR_E_FIRST+2)") -cpp_quote("#define OLECMDERR_E_CANCELED (OLECMDERR_E_FIRST+3)") -cpp_quote("#define OLECMDERR_E_UNKNOWNGROUP (OLECMDERR_E_FIRST+4)") - -cpp_quote("#define MSOCMDERR_E_FIRST OLECMDERR_E_FIRST") -cpp_quote("#define MSOCMDERR_E_NOTSUPPORTED OLECMDERR_E_NOTSUPPORTED") -cpp_quote("#define MSOCMDERR_E_DISABLED OLECMDERR_E_DISABLED") -cpp_quote("#define MSOCMDERR_E_NOHELP OLECMDERR_E_NOHELP") -cpp_quote("#define MSOCMDERR_E_CANCELED OLECMDERR_E_CANCELED") -cpp_quote("#define MSOCMDERR_E_UNKNOWNGROUP OLECMDERR_E_UNKNOWNGROUP") - */ - HRESULT QueryStatus( - GUID *pguidCmdGroup, - ULONG cCmds, - OLECMD * prgCmds, - OLECMDTEXT *pCmdText); - - - HRESULT Exec( - GUID *pguidCmdGroup, - DWORD nCmdID, - DWORD nCmdexecopt, - VARIANT *pvaIn, - VARIANT *pvaOut); -} -alias IOleCommandTarget LPOLECOMMANDTARGET; -/* -cpp_quote("typedef enum") -cpp_quote("{") -cpp_quote(" OLECMDIDF_REFRESH_NORMAL = 0,") -cpp_quote(" OLECMDIDF_REFRESH_IFEXPIRED = 1,") -cpp_quote(" OLECMDIDF_REFRESH_CONTINUE = 2,") -cpp_quote(" OLECMDIDF_REFRESH_COMPLETELY = 3,") -cpp_quote(" OLECMDIDF_REFRESH_NO_CACHE = 4,") -cpp_quote(" OLECMDIDF_REFRESH_RELOAD = 5,") -cpp_quote(" OLECMDIDF_REFRESH_LEVELMASK = 0x00FF,") -cpp_quote(" OLECMDIDF_REFRESH_CLEARUSERINPUT = 0x1000,") -cpp_quote(" OLECMDIDF_REFRESH_PROMPTIFOFFLINE = 0x2000,") -cpp_quote("} OLECMDID_REFRESHFLAG;") - -cpp_quote("") -cpp_quote("////////////////////////////////////////////////////////////////////////////") -cpp_quote("// Aliases to original office-compatible names") -cpp_quote("#define IMsoDocument IOleDocument") -cpp_quote("#define IMsoDocumentSite IOleDocumentSite") -cpp_quote("#define IMsoView IOleDocumentView") -cpp_quote("#define IEnumMsoView IEnumOleDocumentViews") -cpp_quote("#define IMsoCommandTarget IOleCommandTarget") -cpp_quote("#define LPMSODOCUMENT LPOLEDOCUMENT") -cpp_quote("#define LPMSODOCUMENTSITE LPOLEDOCUMENTSITE") -cpp_quote("#define LPMSOVIEW LPOLEDOCUMENTVIEW") -cpp_quote("#define LPENUMMSOVIEW LPENUMOLEDOCUMENTVIEWS") -cpp_quote("#define LPMSOCOMMANDTARGET LPOLECOMMANDTARGET") -cpp_quote("#define MSOCMD OLECMD") -cpp_quote("#define MSOCMDTEXT OLECMDTEXT") -cpp_quote("#define IID_IMsoDocument IID_IOleDocument") -cpp_quote("#define IID_IMsoDocumentSite IID_IOleDocumentSite") -cpp_quote("#define IID_IMsoView IID_IOleDocumentView") -cpp_quote("#define IID_IEnumMsoView IID_IEnumOleDocumentViews") -cpp_quote("#define IID_IMsoCommandTarget IID_IOleCommandTarget") -cpp_quote("#define MSOCMDF_SUPPORTED OLECMDF_SUPPORTED") -cpp_quote("#define MSOCMDF_ENABLED OLECMDF_ENABLED") -cpp_quote("#define MSOCMDF_LATCHED OLECMDF_LATCHED") -cpp_quote("#define MSOCMDF_NINCHED OLECMDF_NINCHED") -cpp_quote("#define MSOCMDTEXTF_NONE OLECMDTEXTF_NONE") -cpp_quote("#define MSOCMDTEXTF_NAME OLECMDTEXTF_NAME") -cpp_quote("#define MSOCMDTEXTF_STATUS OLECMDTEXTF_STATUS") -cpp_quote("#define MSOCMDEXECOPT_DODEFAULT OLECMDEXECOPT_DODEFAULT") -cpp_quote("#define MSOCMDEXECOPT_PROMPTUSER OLECMDEXECOPT_PROMPTUSER") -cpp_quote("#define MSOCMDEXECOPT_DONTPROMPTUSER OLECMDEXECOPT_DONTPROMPTUSER") -cpp_quote("#define MSOCMDEXECOPT_SHOWHELP OLECMDEXECOPT_SHOWHELP") -cpp_quote("#define MSOCMDID_OPEN OLECMDID_OPEN") -cpp_quote("#define MSOCMDID_NEW OLECMDID_NEW") -cpp_quote("#define MSOCMDID_SAVE OLECMDID_SAVE") -cpp_quote("#define MSOCMDID_SAVEAS OLECMDID_SAVEAS") -cpp_quote("#define MSOCMDID_SAVECOPYAS OLECMDID_SAVECOPYAS") -cpp_quote("#define MSOCMDID_PRINT OLECMDID_PRINT") -cpp_quote("#define MSOCMDID_PRINTPREVIEW OLECMDID_PRINTPREVIEW") -cpp_quote("#define MSOCMDID_PAGESETUP OLECMDID_PAGESETUP") -cpp_quote("#define MSOCMDID_SPELL OLECMDID_SPELL") -cpp_quote("#define MSOCMDID_PROPERTIES OLECMDID_PROPERTIES") -cpp_quote("#define MSOCMDID_CUT OLECMDID_CUT") -cpp_quote("#define MSOCMDID_COPY OLECMDID_COPY") -cpp_quote("#define MSOCMDID_PASTE OLECMDID_PASTE") -cpp_quote("#define MSOCMDID_PASTESPECIAL OLECMDID_PASTESPECIAL") -cpp_quote("#define MSOCMDID_UNDO OLECMDID_UNDO") -cpp_quote("#define MSOCMDID_REDO OLECMDID_REDO") -cpp_quote("#define MSOCMDID_SELECTALL OLECMDID_SELECTALL") -cpp_quote("#define MSOCMDID_CLEARSELECTION OLECMDID_CLEARSELECTION") -cpp_quote("#define MSOCMDID_ZOOM OLECMDID_ZOOM") -cpp_quote("#define MSOCMDID_GETZOOMRANGE OLECMDID_GETZOOMRANGE") - -cpp_quote("EXTERN_C const GUID SID_SContainerDispatch;") - */ -} // extern( Windows) - +module dwt.internal.ole.win32.DOCOBJ; + +//private import std.c.windows.windows; +//private import std.c.windows.com; +private import dwt.internal.win32.OS; +private import dwt.internal.win32.WINTYPES; +private import dwt.internal.ole.win32.extras; +private import dwt.internal.ole.win32.OLEIDL; +//private import dwt.internal.ole.win32.OAIDL; +private import dwt.internal.ole.win32.OBJIDL; + +extern( Windows ) { + +alias wchar wchar_t; + +//+--------------------------------------------------------------------------- +// +// Copyright 1995 - 1998 Microsoft Corporation. All Rights Reserved. +// +// Contents: OLE Document Object interfaces +// +//---------------------------------------------------------------------------- + + +/* +#define HWND UserHWND +#define HACCEL UserHACCEL +#define HDC UserHDC +#define HFONT UserHFONT +#define MSG UserMSG +#define BSTR UserBSTR +#define EXCEPINFO UserEXCEPINFO +#define VARIANT UserVARIANT +*/ +/* +interface IOleDocument; +interface IOleDocumentSite; +interface IOleDocumentView; +interface IEnumOleDocumentViews; +interface IContinueCallback; +interface IPrint; +interface IOleCommandTarget; + */ + + + +//+--------------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation, 1995-1997. +// +// Contents: IOleDocument interface definition +// +//---------------------------------------------------------------------------- +enum DOCMISC { + DOCMISC_CANCREATEMULTIPLEVIEWS = 1, + DOCMISC_SUPPORTCOMPLEXRECTANGLES = 2, + DOCMISC_CANTOPENEDIT = 4, // fails the IOleDocumentView::Open method + DOCMISC_NOFILESUPPORT = 8, // does not support read/writing to a file +} + +interface IOleDocument : IUnknown +{ + HRESULT CreateView(IOleInPlaceSite pIPSite,IStream pstm,DWORD dwReserved,IOleDocumentView *ppView); + + HRESULT GetDocMiscStatus(DWORD *pdwStatus); + + HRESULT EnumViews( IEnumOleDocumentViews * ppEnum, IOleDocumentView * ppView); +} +alias IOleDocument LPOLEDOCUMENT; + + +//+--------------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation, 1995-1997. +// +// Contents: IOleDocumentSite interface definition +// +//---------------------------------------------------------------------------- +interface IOleDocumentSite : IUnknown +{ + HRESULT ActivateMe(IOleDocumentView pViewToActivate); +} +alias IOleDocumentSite LPOLEDOCUMENTSITE; + + +//+--------------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation, 1995-1997. +// +// Contents: IOleDocumentView interface definition +// +//---------------------------------------------------------------------------- +interface IOleDocumentView : IUnknown +{ + HRESULT SetInPlaceSite(IOleInPlaceSite pIPSite); + + HRESULT GetInPlaceSite(IOleInPlaceSite * ppIPSite); + + HRESULT GetDocument(IUnknown *ppunk); + + HRESULT SetRect(LPRECT prcView); + + HRESULT GetRect(LPRECT prcView); + + HRESULT SetRectComplex(LPRECT prcView,LPRECT prcHScroll,LPRECT prcVScroll,LPRECT prcSizeBox); + + HRESULT Show(BOOL fShow); + + HRESULT UIActivate(BOOL fUIActivate); + + HRESULT Open(); + + HRESULT CloseView(DWORD dwReserved); + + HRESULT SaveViewState(LPSTREAM pstm); + + HRESULT ApplyViewState(LPSTREAM pstm); + + HRESULT Clone(IOleInPlaceSite pIPSiteNew,IOleDocumentView *ppViewNew); +} +alias IOleDocumentView LPOLEDOCUMENTVIEW; + + +//+--------------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation, 1995-1997. +// +// Contents: IEnumOleDocumentViews interface definition +// +//---------------------------------------------------------------------------- +interface IEnumOleDocumentViews : IUnknown +{ + HRESULT Next( + ULONG cViews, + IOleDocumentView * rgpView, + ULONG *pcFetched); + + HRESULT Skip(ULONG cViews); + + HRESULT Reset(); + + HRESULT Clone(IEnumOleDocumentViews *ppEnum); +} +alias IEnumOleDocumentViews LPENUMOLEDOCUMENTVIEWS; + + + +//+--------------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation, 1995-1997. +// +// Contents: IContinueCallback interface definition +// +//---------------------------------------------------------------------------- + +interface IContinueCallback : IUnknown +{ + HRESULT FContinue(); + + HRESULT FContinuePrinting(LONG nCntPrinted,LONG nCurPage, wchar_t * pwszPrintStatus); +} +alias IContinueCallback LPCONTINUECALLBACK; + + +//+--------------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation, 1995-1997. +// +// Contents: IPrint interface definition +// +//---------------------------------------------------------------------------- +enum PRINTFLAG + { + PRINTFLAG_MAYBOTHERUSER = 1, + PRINTFLAG_PROMPTUSER = 2, + PRINTFLAG_USERMAYCHANGEPRINTER = 4, + PRINTFLAG_RECOMPOSETODEVICE = 8, + PRINTFLAG_DONTACTUALLYPRINT = 16, + PRINTFLAG_FORCEPROPERTIES = 32, + PRINTFLAG_PRINTTOFILE = 64 + } ; + +struct PAGERANGE + { + LONG nFromPage; + LONG nToPage; + } + +struct PAGESET + { + ULONG cbStruct; + BOOL fOddPages; + BOOL fEvenPages; + ULONG cPageRange; + PAGERANGE[1] rgPages; + } + +interface IPrint : IUnknown +{ + + HRESULT SetInitialPageNum(LONG nFirstPage); + + HRESULT GetPageInfo(LONG *pnFirstPage,LONG *pcPages); + + HRESULT Print( + DWORD grfFlags, +DVTARGETDEVICE **pptd, +PAGESET ** ppPageSet, +STGMEDIUM * pstgmOptions, +IContinueCallback pcallback, +LONG nFirstPage, +LONG *pcPagesPrinted, +LONG *pnLastPage); +} +alias IPrint LPPRINT; + + +//+--------------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation, 1995-1997. +// +// Contents: IOleCommandTarget interface definition +// +//---------------------------------------------------------------------------- +enum OLECMDF + { + OLECMDF_SUPPORTED = 0x00000001, + OLECMDF_ENABLED = 0x00000002, + OLECMDF_LATCHED = 0x00000004, + OLECMDF_NINCHED = 0x00000008, + } + + + + +struct OLECMD { + ULONG cmdID; + DWORD cmdf; + } + +struct OLECMDTEXT{ + DWORD cmdtextf; + ULONG cwActual; + ULONG cwBuf; /* size in wide chars of the buffer for text */ + wchar_t[1] rgwz; /* Array into which callee writes the text */ +} + +enum OLECMDTEXTF + { + OLECMDTEXTF_NONE = 0, + OLECMDTEXTF_NAME = 1, + OLECMDTEXTF_STATUS = 2, + } + +enum OLECMDEXECOPT + { + OLECMDEXECOPT_DODEFAULT = 0, + OLECMDEXECOPT_PROMPTUSER = 1, + OLECMDEXECOPT_DONTPROMPTUSER = 2, + OLECMDEXECOPT_SHOWHELP = 3 + } +enum OLECMDID { + OLECMDID_OPEN = 1, + OLECMDID_NEW = 2, + OLECMDID_SAVE = 3, + OLECMDID_SAVEAS = 4, + OLECMDID_SAVECOPYAS = 5, + OLECMDID_PRINT = 6, + OLECMDID_PRINTPREVIEW = 7, + OLECMDID_PAGESETUP = 8, + OLECMDID_SPELL = 9, + OLECMDID_PROPERTIES = 10, + OLECMDID_CUT = 11, + OLECMDID_COPY = 12, + OLECMDID_PASTE = 13, + OLECMDID_PASTESPECIAL = 14, + OLECMDID_UNDO = 15, + OLECMDID_REDO = 16, + OLECMDID_SELECTALL = 17, + OLECMDID_CLEARSELECTION = 18, + OLECMDID_ZOOM = 19, + OLECMDID_GETZOOMRANGE = 20, + OLECMDID_UPDATECOMMANDS = 21, + OLECMDID_REFRESH = 22, + OLECMDID_STOP = 23, + OLECMDID_HIDETOOLBARS = 24, + OLECMDID_SETPROGRESSMAX = 25, + OLECMDID_SETPROGRESSPOS = 26, + OLECMDID_SETPROGRESSTEXT = 27, + OLECMDID_SETTITLE = 28, + OLECMDID_SETDOWNLOADSTATE = 29, + OLECMDID_STOPDOWNLOAD = 30, + OLECMDID_ONTOOLBARACTIVATED = 31, + OLECMDID_FIND = 32, + OLECMDID_DELETE = 33, + OLECMDID_HTTPEQUIV = 34, + OLECMDID_HTTPEQUIV_DONE = 35, + OLECMDID_ENABLE_INTERACTION = 36, + OLECMDID_ONUNLOAD = 37, + OLECMDID_PROPERTYBAG2 = 38, + OLECMDID_PREREFRESH = 39 + } + +interface IOleCommandTarget : IUnknown +{ + +/* error codes */ +/* +cpp_quote("#define OLECMDERR_E_FIRST (OLE_E_LAST+1)") +cpp_quote("#define OLECMDERR_E_NOTSUPPORTED (OLECMDERR_E_FIRST)") +cpp_quote("#define OLECMDERR_E_DISABLED (OLECMDERR_E_FIRST+1)") +cpp_quote("#define OLECMDERR_E_NOHELP (OLECMDERR_E_FIRST+2)") +cpp_quote("#define OLECMDERR_E_CANCELED (OLECMDERR_E_FIRST+3)") +cpp_quote("#define OLECMDERR_E_UNKNOWNGROUP (OLECMDERR_E_FIRST+4)") + +cpp_quote("#define MSOCMDERR_E_FIRST OLECMDERR_E_FIRST") +cpp_quote("#define MSOCMDERR_E_NOTSUPPORTED OLECMDERR_E_NOTSUPPORTED") +cpp_quote("#define MSOCMDERR_E_DISABLED OLECMDERR_E_DISABLED") +cpp_quote("#define MSOCMDERR_E_NOHELP OLECMDERR_E_NOHELP") +cpp_quote("#define MSOCMDERR_E_CANCELED OLECMDERR_E_CANCELED") +cpp_quote("#define MSOCMDERR_E_UNKNOWNGROUP OLECMDERR_E_UNKNOWNGROUP") + */ + HRESULT QueryStatus( + GUID *pguidCmdGroup, + ULONG cCmds, + OLECMD * prgCmds, + OLECMDTEXT *pCmdText); + + + HRESULT Exec( + GUID *pguidCmdGroup, + DWORD nCmdID, + DWORD nCmdexecopt, + VARIANT *pvaIn, + VARIANT *pvaOut); +} +alias IOleCommandTarget LPOLECOMMANDTARGET; +/* +cpp_quote("typedef enum") +cpp_quote("{") +cpp_quote(" OLECMDIDF_REFRESH_NORMAL = 0,") +cpp_quote(" OLECMDIDF_REFRESH_IFEXPIRED = 1,") +cpp_quote(" OLECMDIDF_REFRESH_CONTINUE = 2,") +cpp_quote(" OLECMDIDF_REFRESH_COMPLETELY = 3,") +cpp_quote(" OLECMDIDF_REFRESH_NO_CACHE = 4,") +cpp_quote(" OLECMDIDF_REFRESH_RELOAD = 5,") +cpp_quote(" OLECMDIDF_REFRESH_LEVELMASK = 0x00FF,") +cpp_quote(" OLECMDIDF_REFRESH_CLEARUSERINPUT = 0x1000,") +cpp_quote(" OLECMDIDF_REFRESH_PROMPTIFOFFLINE = 0x2000,") +cpp_quote("} OLECMDID_REFRESHFLAG;") + +cpp_quote("") +cpp_quote("////////////////////////////////////////////////////////////////////////////") +cpp_quote("// Aliases to original office-compatible names") +cpp_quote("#define IMsoDocument IOleDocument") +cpp_quote("#define IMsoDocumentSite IOleDocumentSite") +cpp_quote("#define IMsoView IOleDocumentView") +cpp_quote("#define IEnumMsoView IEnumOleDocumentViews") +cpp_quote("#define IMsoCommandTarget IOleCommandTarget") +cpp_quote("#define LPMSODOCUMENT LPOLEDOCUMENT") +cpp_quote("#define LPMSODOCUMENTSITE LPOLEDOCUMENTSITE") +cpp_quote("#define LPMSOVIEW LPOLEDOCUMENTVIEW") +cpp_quote("#define LPENUMMSOVIEW LPENUMOLEDOCUMENTVIEWS") +cpp_quote("#define LPMSOCOMMANDTARGET LPOLECOMMANDTARGET") +cpp_quote("#define MSOCMD OLECMD") +cpp_quote("#define MSOCMDTEXT OLECMDTEXT") +cpp_quote("#define IID_IMsoDocument IID_IOleDocument") +cpp_quote("#define IID_IMsoDocumentSite IID_IOleDocumentSite") +cpp_quote("#define IID_IMsoView IID_IOleDocumentView") +cpp_quote("#define IID_IEnumMsoView IID_IEnumOleDocumentViews") +cpp_quote("#define IID_IMsoCommandTarget IID_IOleCommandTarget") +cpp_quote("#define MSOCMDF_SUPPORTED OLECMDF_SUPPORTED") +cpp_quote("#define MSOCMDF_ENABLED OLECMDF_ENABLED") +cpp_quote("#define MSOCMDF_LATCHED OLECMDF_LATCHED") +cpp_quote("#define MSOCMDF_NINCHED OLECMDF_NINCHED") +cpp_quote("#define MSOCMDTEXTF_NONE OLECMDTEXTF_NONE") +cpp_quote("#define MSOCMDTEXTF_NAME OLECMDTEXTF_NAME") +cpp_quote("#define MSOCMDTEXTF_STATUS OLECMDTEXTF_STATUS") +cpp_quote("#define MSOCMDEXECOPT_DODEFAULT OLECMDEXECOPT_DODEFAULT") +cpp_quote("#define MSOCMDEXECOPT_PROMPTUSER OLECMDEXECOPT_PROMPTUSER") +cpp_quote("#define MSOCMDEXECOPT_DONTPROMPTUSER OLECMDEXECOPT_DONTPROMPTUSER") +cpp_quote("#define MSOCMDEXECOPT_SHOWHELP OLECMDEXECOPT_SHOWHELP") +cpp_quote("#define MSOCMDID_OPEN OLECMDID_OPEN") +cpp_quote("#define MSOCMDID_NEW OLECMDID_NEW") +cpp_quote("#define MSOCMDID_SAVE OLECMDID_SAVE") +cpp_quote("#define MSOCMDID_SAVEAS OLECMDID_SAVEAS") +cpp_quote("#define MSOCMDID_SAVECOPYAS OLECMDID_SAVECOPYAS") +cpp_quote("#define MSOCMDID_PRINT OLECMDID_PRINT") +cpp_quote("#define MSOCMDID_PRINTPREVIEW OLECMDID_PRINTPREVIEW") +cpp_quote("#define MSOCMDID_PAGESETUP OLECMDID_PAGESETUP") +cpp_quote("#define MSOCMDID_SPELL OLECMDID_SPELL") +cpp_quote("#define MSOCMDID_PROPERTIES OLECMDID_PROPERTIES") +cpp_quote("#define MSOCMDID_CUT OLECMDID_CUT") +cpp_quote("#define MSOCMDID_COPY OLECMDID_COPY") +cpp_quote("#define MSOCMDID_PASTE OLECMDID_PASTE") +cpp_quote("#define MSOCMDID_PASTESPECIAL OLECMDID_PASTESPECIAL") +cpp_quote("#define MSOCMDID_UNDO OLECMDID_UNDO") +cpp_quote("#define MSOCMDID_REDO OLECMDID_REDO") +cpp_quote("#define MSOCMDID_SELECTALL OLECMDID_SELECTALL") +cpp_quote("#define MSOCMDID_CLEARSELECTION OLECMDID_CLEARSELECTION") +cpp_quote("#define MSOCMDID_ZOOM OLECMDID_ZOOM") +cpp_quote("#define MSOCMDID_GETZOOMRANGE OLECMDID_GETZOOMRANGE") + +cpp_quote("EXTERN_C const GUID SID_SContainerDispatch;") + */ +} // extern( Windows) +
--- a/dwt/internal/ole/win32/EXDISP.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/ole/win32/EXDISP.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,911 +1,911 @@ -module dwt.internal.ole.win32.EXDISP; -//+------------------------------------------------------------------------- -// -// Microsoft Windows -// Copyright 1995 - 1998 Microsoft Corporation. All Rights Reserved. -// -//-------------------------------------------------------------------------- -//private import std.c.windows.windows; -//private import std.c.windows.com; -private import dwt.internal.ole.win32.OAIDL; -private import dwt.internal.ole.win32.OLEIDL; -private import dwt.internal.ole.win32.DOCOBJ; -private import dwt.internal.ole.win32.extras; -import dwt.internal.win32.WINTYPES; - -extern (Windows) { - - enum BrowserNavConstants { - navOpenInNewWindow = 0x0001, - navNoHistory = 0x0002, - navNoReadFromCache = 0x0004, - navNoWriteToCache = 0x0008, - navAllowAutosearch = 0x0010, - navBrowserBar = 0x0020, - }; - enum RefreshConstants { // must map to these in sdk\inc\docobj.h - REFRESH_NORMAL = 0, //== OLECMDIDF_REFRESH_NORMAL - REFRESH_IFEXPIRED = 1, //== OLECMDIDF_REFRESH_IFEXPIRED - REFRESH_COMPLETELY = 3 //== OLECMDIDF_REFRESH_COMPLETELY - }; - -interface IWebBrowser : IDispatch -{ - HRESULT GoBack(); - HRESULT GoForward(); - HRESULT GoHome(); - HRESULT GoSearch(); - - HRESULT Navigate( BSTR URL, - VARIANT * Flags, - VARIANT * TargetFrameName, - VARIANT * PostData, - VARIANT * Headers); - - HRESULT Refresh(); - - HRESULT Refresh2(VARIANT * Level); - - HRESULT Stop(); - - HRESULT Application( IDispatch* ppDisp); - - HRESULT Parent( IDispatch* ppDisp); - - HRESULT Container( IDispatch* ppDisp); - - HRESULT Document( IDispatch* ppDisp); - - HRESULT TopLevelContainer( VARIANT_BOOL* pBool); - - HRESULT Type( BSTR* Type); - - // Window stuff... - HRESULT Left( LONG *pl); - HRESULT Put_Left( LONG Left); - HRESULT Top( LONG *pl); - HRESULT Put_Top( LONG Top); - HRESULT Width(LONG *pl); - HRESULT Put_Width(LONG Width); - HRESULT Height(LONG *pl); - HRESULT Put_Height(LONG Height); - - // WebBrowser stuff... - HRESULT LocationName( BSTR *LocationName); - - HRESULT LocationURL( BSTR * LocationURL); - - HRESULT Busy( VARIANT_BOOL *pBool); - } - -/* //not sure how to process this - dispinterface DWebBrowserEvents - { - properties: - methods: - [id(DISPID_BEFORENAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)] - void BeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel); - - [id(DISPID_NAVIGATECOMPLETE), helpstring("Fired when the document being navigated to becomes visible and enters the navigation stack."), helpcontext(0x0000)] - void NavigateComplete([in] BSTR URL ); - - [id(DISPID_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)] - void StatusTextChange([in]BSTR Text); - - [id(DISPID_PROGRESSCHANGE), helpstring("Fired when download progress is updated."), helpcontext(0x0000)] - void ProgressChange([in] long Progress, [in] long ProgressMax); - - [id(DISPID_DOWNLOADCOMPLETE), helpstring("Download of page complete."), helpcontext(0x0000)] - void DownloadComplete(); - - [id(DISPID_COMMANDSTATECHANGE), helpstring("The enabled state of a command changed"), helpcontext(0x0000)] - void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable); - - [id(DISPID_DOWNLOADBEGIN), helpstring("Download of a page started."), helpcontext(0x000)] - void DownloadBegin(); - - [id(DISPID_NEWWINDOW), helpstring("Fired when a new window should be created."), helpcontext(0x0000)] - void NewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed); - - [id(DISPID_TITLECHANGE), helpstring("Document title changed."), helpcontext(0x0000)] - void TitleChange([in]BSTR Text); - - [id(DISPID_FRAMEBEFORENAVIGATE), helpstring("Fired when a new hyperlink is being navigated to in a frame."), helpcontext(0x0000)] - void FrameBeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel); - - [id(DISPID_FRAMENAVIGATECOMPLETE), helpstring("Fired when a new hyperlink is being navigated to in a frame."), helpcontext(0x0000)] - void FrameNavigateComplete([in] BSTR URL ); - - [id(DISPID_FRAMENEWWINDOW), helpstring("Fired when a new window should be created."), helpcontext(0x0000)] - void FrameNewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed); - - // The following are IWebBrowserApp specific: - // - [id(DISPID_QUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)] - void Quit([in, out] VARIANT_BOOL * Cancel); - - [id(DISPID_WINDOWMOVE), helpstring("Fired when window has been moved."), helpcontext(0x0000)] - void WindowMove(); - - [id(DISPID_WINDOWRESIZE), helpstring("Fired when window has been sized."), helpcontext(0x0000)] - void WindowResize(); - - [id(DISPID_WINDOWACTIVATE), helpstring("Fired when window has been activated."), helpcontext(0x0000)] - void WindowActivate(); - - [id(DISPID_PROPERTYCHANGE), helpstring("Fired when the PutProperty method has been called."), helpcontext(0x0000)] - void PropertyChange([in] BSTR Property); - } - */ - - enum CommandStateChangeConstants : uint { - CSC_UPDATECOMMANDS = 0xFFFFFFFF, - CSC_NAVIGATEFORWARD = 0x00000001, - CSC_NAVIGATEBACK = 0x00000002, - } - - interface IWebBrowserApp : IWebBrowser - { - HRESULT Quit(); - - HRESULT ClientToWindow( int* pcx, int* pcy); - - HRESULT PutProperty( BSTR Property, VARIANT vtValue); - HRESULT GetProperty( BSTR Property, VARIANT *pvtValue); - - HRESULT Name( BSTR* Name); - - HRESULT HWND(LONG *pHWND); - - HRESULT FullName( BSTR* FullName); - - HRESULT Path( BSTR* Path); - - HRESULT Visible( VARIANT_BOOL* pBool); - HRESULT Visible( VARIANT_BOOL Value); - - HRESULT StatusBar( VARIANT_BOOL* pBool); - HRESULT StatusBar( VARIANT_BOOL Value); - - HRESULT StatusText( BSTR *StatusText); - HRESULT StatusText( BSTR StatusText); - - HRESULT ToolBar( int * Value); - HRESULT ToolBar( int Value); - - HRESULT MenuBar( VARIANT_BOOL * Value); - HRESULT MenuBar( VARIANT_BOOL Value); - - HRESULT FullScreen( VARIANT_BOOL * pbFullScreen); - HRESULT FullScreen( VARIANT_BOOL bFullScreen); - } - - interface IWebBrowser2 : IWebBrowserApp - { - HRESULT Navigate2( VARIANT * URL, - VARIANT * Flags, - VARIANT * TargetFrameName, - VARIANT * PostData, - VARIANT * Headers); - - - HRESULT QueryStatusWB( OLECMDID cmdID, OLECMDF * pcmdf); - HRESULT ExecWB( OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, VARIANT * pvaIn, VARIANT * pvaOut); - HRESULT ShowBrowserBar( VARIANT * pvaClsid, - VARIANT * pvarShow, - VARIANT * pvarSize ); - - HRESULT ReadyState(READYSTATE * plReadyState); - - HRESULT Offline(VARIANT_BOOL * pbOffline); - HRESULT Offline( VARIANT_BOOL bOffline); - - HRESULT Silent(VARIANT_BOOL * pbSilent); - HRESULT Silent(VARIANT_BOOL bSilent); - - HRESULT RegisterAsBrowser(VARIANT_BOOL * pbRegister); - HRESULT RegisterAsBrowser(VARIANT_BOOL bRegister); - - HRESULT RegisterAsDropTarget(VARIANT_BOOL * pbRegister); - HRESULT RegisterAsDropTarget(VARIANT_BOOL bRegister); - - HRESULT TheaterMode(VARIANT_BOOL * pbRegister); - HRESULT TheaterMode(VARIANT_BOOL bRegister); - - HRESULT AddressBar(VARIANT_BOOL * Value); - HRESULT AddressBar(VARIANT_BOOL Value); - - HRESULT Resizable(VARIANT_BOOL * Value); - HRESULT Resizable(VARIANT_BOOL Value); - } - - /* - dispinterface DWebBrowserEvents2 - { - properties: - methods: - [id(DISPID_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)] - void StatusTextChange([in]BSTR Text); - - [id(DISPID_PROGRESSCHANGE), helpstring("Fired when download progress is updated."), helpcontext(0x0000)] - void ProgressChange([in] long Progress, [in] long ProgressMax); - - [id(DISPID_COMMANDSTATECHANGE), helpstring("The enabled state of a command changed."), helpcontext(0x0000)] - void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable); - - [id(DISPID_DOWNLOADBEGIN), helpstring("Download of a page started."), helpcontext(0x000)] - void DownloadBegin(); - - [id(DISPID_DOWNLOADCOMPLETE), helpstring("Download of page complete."), helpcontext(0x0000)] - void DownloadComplete(); - - [id(DISPID_TITLECHANGE), helpstring("Document title changed."), helpcontext(0x0000)] - void TitleChange([in] BSTR Text); - - [id(DISPID_PROPERTYCHANGE), helpstring("Fired when the PutProperty method has been called."), helpcontext(0x0000)] - void PropertyChange([in] BSTR szProperty); - - // New events for IE40: - // - [id(DISPID_BEFORENAVIGATE2), helpstring("Fired before navigate occurs in the given WebBrowser (window or frameset element). The processing of this navigation may be modified."), helpcontext(0x0000)] - void BeforeNavigate2([in] IDispatch* pDisp, - [in] VARIANT * URL, [in] VARIANT * Flags, [in] VARIANT * TargetFrameName, [in] VARIANT * PostData, [in] VARIANT * Headers, - [in,out] VARIANT_BOOL * Cancel); - - [id(DISPID_NEWWINDOW2), helpstring("A new, hidden, non-navigated WebBrowser window is needed."), helpcontext(0x0000)] - void NewWindow2([in, out] IDispatch** ppDisp, [in, out] VARIANT_BOOL * Cancel); - - [id(DISPID_NAVIGATECOMPLETE2), helpstring("Fired when the document being navigated to becomes visible and enters the navigation stack."), helpcontext(0x0000)] - void NavigateComplete2([in] IDispatch* pDisp, [in] VARIANT * URL ); - - [id(DISPID_DOCUMENTCOMPLETE), helpstring("Fired when the document being navigated to reaches ReadyState_Complete."), helpcontext(0x0000)] - void DocumentComplete([in] IDispatch* pDisp, [in] VARIANT * URL ); - - [id(DISPID_ONQUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)] - void OnQuit(); - - [id(DISPID_ONVISIBLE), helpstring("Fired when the window should be shown/hidden"), helpcontext(0x0000)] - void OnVisible([in] VARIANT_BOOL Visible); - - [id(DISPID_ONTOOLBAR), helpstring("Fired when the toolbar should be shown/hidden"), helpcontext(0x0000)] - void OnToolBar([in] VARIANT_BOOL ToolBar); - - [id(DISPID_ONMENUBAR), helpstring("Fired when the menubar should be shown/hidden"), helpcontext(0x0000)] - void OnMenuBar([in] VARIANT_BOOL MenuBar); - - [id(DISPID_ONSTATUSBAR), helpstring("Fired when the statusbar should be shown/hidden"), helpcontext(0x0000)] - void OnStatusBar([in] VARIANT_BOOL StatusBar); - - [id(DISPID_ONFULLSCREEN), helpstring("Fired when fullscreen mode should be on/off"), helpcontext(0x0000)] - void OnFullScreen([in] VARIANT_BOOL FullScreen); - - [id(DISPID_ONTHEATERMODE), helpstring("Fired when theater mode should be on/off"), helpcontext(0x0000)] - void OnTheaterMode([in] VARIANT_BOOL TheaterMode); - } - */ - - /* - - [ - uuid(EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B), // v.1 clsid CLSID_WebBrowser_V1 - control, - helpstring("WebBrowser Control") - ] - coclass WebBrowser_V1 - { - interface IWebBrowser2; - [default] interface IWebBrowser; - [source] dispinterface DWebBrowserEvents2; - [default, source] dispinterface DWebBrowserEvents; - } - - [ - uuid(8856F961-340A-11D0-A96B-00C04FD705A2), // v.2 clsid CLSID_WebBrowser - control, - helpstring("WebBrowser Control") - ] - coclass WebBrowser - { - [default] interface IWebBrowser2; - interface IWebBrowser; - [default, source] dispinterface DWebBrowserEvents2; - [source] dispinterface DWebBrowserEvents; - } - - [ - uuid(0002DF01-0000-0000-C000-000000000046), // CLSID_InternetExplorer - helpstring("Internet Explorer Application."), - ] - coclass InternetExplorer - { - [default] interface IWebBrowser2; - interface IWebBrowserApp; - [default, source] dispinterface DWebBrowserEvents2; - [source] dispinterface DWebBrowserEvents; - } - - */ - - - interface IFolderViewOC : IDispatch - { - HRESULT SetFolderView(IDispatch pdisp); - } - - interface DShellFolderViewEvents - { - void SelectionChanged(); - } - -/* [ - uuid(9BA05971-F6A8-11CF-A442-00A0C90A8F39), // CLSID_ShellFolderViewOC - helpstring("Shell Folder View Events Router."), - hidden - ] - coclass ShellFolderViewOC - { - [default] interface IFolderViewOC; - [default, source] dispinterface DShellFolderViewEvents; - }*/ - enum ShellWindowTypeConstants { - SWC_EXPLORER = 0x0, - SWC_BROWSER = 0x00000001, - SWC_3RDPARTY = 0x00000002, - SWC_CALLBACK = 0x00000004, - } - - enum ShellWindowFindWindowOptions { - SWFO_NEEDDISPATCH = 0x00000001, - SWFO_INCLUDEPENDING = 0x00000002, - SWFO_COOKIEPASSED = 0x00000004, - } - - interface DShellWindowsEvents - { - void WindowRegistered(LONG lCookie); - - void WindowRevoked(LONG lCookie); - } - - interface IShellWindows : IDispatch - { - //Properties - HRESULT Count(LONG *Count); - - HRESULT Item(VARIANT index, IDispatch *Folder); - - HRESULT _NewEnum(IUnknown *ppunk); - - // Some private hidden members to allow shell windows to add and - // remove themself from the list. We mark them hidden to keep - // random VB apps from trying to Register... - HRESULT Register( IDispatch pid, - LONG hwnd, - int swClass, - LONG *plCookie); - - HRESULT RegisterPending(LONG lThreadId, - VARIANT* pvarloc, // will hold pidl that is being opened. - VARIANT* pvarlocRoot, // Optional root pidl - int swClass, - LONG *plCookie); - - HRESULT Revoke(LONG lCookie); - // As an optimization, each window notifies the new location - // only when - // (1) it's being deactivated - // (2) getFullName is called (we overload it to force update) - HRESULT OnNavigate(LONG lCookie, VARIANT* pvarLoc); - HRESULT OnActivated(LONG lCookie, VARIANT_BOOL fActive); - HRESULT FindWindow(VARIANT* pvarLoc, - VARIANT* pvarLocRoot, - int swClass, - LONG * phwnd, - int swfwOptions, - IDispatch* ppdispOut); - HRESULT OnCreated(LONG lCookie,IUnknown punk); - - HRESULT ProcessAttachDetach(VARIANT_BOOL fAttach); - } - - /* - [ - uuid(9BA05972-F6A8-11CF-A442-00A0C90A8F39), // CLSID_ShellWindows - helpstring("ShellDispatch Load in Shell Context") - ] - coclass ShellWindows - { - [default] interface IShellWindows; - [default, source] dispinterface DShellWindowsEvents; - } - */ - - /* - - [ - uuid(88A05C00-F000-11CE-8350-444553540000), // IID_IShellLinkDual - helpstring("Definition of Shell Link IDispatch interface"), - oleautomation, - dual, - odl, - hidden, - ] - interface IShellLinkDual : IDispatch - { - [propget, helpstring("Get the path of the link")] - HRESULT Path([out, retval] BSTR *pbs); - - [propput, helpstring("Set the path of the link")] - HRESULT Path([in] BSTR bs); - - [propget, helpstring("Get the description for the link")] - HRESULT Description([out, retval] BSTR *pbs); - - [propput, helpstring("Set the description for the link")] - HRESULT Description([in] BSTR bs); - - [propget, helpstring("Get the working directory for the link")] - HRESULT WorkingDirectory([out, retval] BSTR *pbs); - - [propput, helpstring("Set the working directory for the link")] - HRESULT WorkingDirectory([in] BSTR bs); - - [propget, helpstring("Get the arguments for the link")] - HRESULT Arguments([out, retval] BSTR *pbs); - - [propput, helpstring("Set the arguments for the link")] - HRESULT Arguments([in] BSTR bs); - - - [propget, helpstring("Get the Hotkey for the link")] - HRESULT Hotkey([out, retval] int *piHK); - - [propput, helpstring("Set the Hotkey for the link")] - HRESULT Hotkey([in] int iHK); - - [propget, helpstring("Get the Show Command for the link")] - HRESULT ShowCommand([out, retval] int *piShowCommand); - - [propput, helpstring("Set the Show Command for the link")] - HRESULT ShowCommand([in] int iShowCommand); - - // STDMETHOD(SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; - //Methods - [helpstring("Tell the link to resolve itself")] - HRESULT Resolve([in] int fFlags); - - [helpstring("Get the IconLocation for the link")] - HRESULT GetIconLocation([out] BSTR *pbs, [out,retval] int *piIcon); - - [helpstring("Set the IconLocation for the link")] - HRESULT SetIconLocation([in] BSTR bs, [in] int iIcon); - - [helpstring("Tell the link to save the changes")] - HRESULT Save ([in, optional] VARIANT vWhere); - } - - [ - uuid(11219420-1768-11d1-95BE-00609797EA4F), // CLSID_ShellLinkObject - helpstring("Shell Link object") - ] - coclass ShellLinkObject // funny name so we don't conflict with CLSID_ShellLink - { - [default] interface IShellLinkDual; - } - - [ - uuid(08EC3E00-50B0-11CF-960C-0080C7F4EE85), // IID_FolderItemVerb - helpstring("Definition of interface FolderItemVerb"), - oleautomation, - dual, - odl, - ] - interface FolderItemVerb : IDispatch - { - [propget, helpstring("Get Application object")] - HRESULT Application ([out, retval] IDispatch **ppid); - - [propget, helpstring("Get Parent object")] - HRESULT Parent([out, retval] IDispatch **ppid); - - [id(0), propget, helpstring("Get display name for item")] - HRESULT Name([out, retval] BSTR *pbs); - - [helpstring("Execute the verb")] - HRESULT DoIt(); - } - - [ - uuid(1F8352C0-50B0-11CF-960C-0080C7F4EE85), // IID_FolderItemVerbs - helpstring("Definition of interface FolderItemVerbs"), - oleautomation, - dual, - odl, - ] - interface FolderItemVerbs : IDispatch - { - //Properties - [propget, helpstring("Get count of open folder windows")] - HRESULT Count([out, retval] long *plCount); - - [propget, helpstring("Get Application object")] - HRESULT Application ([out, retval] IDispatch **ppid); - - [propget, helpstring("Get Parent object")] - HRESULT Parent([out, retval] IDispatch **ppid); - - //Methods - //Standard Methods - [helpstring("Return the specified verb")] - HRESULT Item([in,optional] VARIANT index, [out, retval]FolderItemVerb **ppid); - - [id(-4), helpstring("Enumerates the figures")] - HRESULT _NewEnum([out, retval] IUnknown **ppunk); - } - - interface Folder; // forward reference - - [ - uuid(FAC32C80-CBE4-11CE-8350-444553540000), // IID_FolderItem - helpstring("Definition of interface FolderItem"), - oleautomation, - dual, - odl, - ] - interface FolderItem : IDispatch - { - [propget, helpstring("Get Application object")] - HRESULT Application ([out, retval] IDispatch **ppid); - - [propget, helpstring("Get Parent object")] - HRESULT Parent([out, retval] IDispatch **ppid); - - [id(0), propget, helpstring("Get display name for item")] - HRESULT Name([out, retval] BSTR *pbs); - - [id(0), propput, helpstring("Set the name for the item")] - HRESULT Name([in] BSTR bs); - - [propget, helpstring("Get the pathname to the item")] - HRESULT Path([out, retval]BSTR *pbs); - - [propget, helpstring("If item is link return link object")] - HRESULT GetLink([out, retval] IDispatch **ppid); - - [propget, helpstring("If item is a folder return folder object")] - HRESULT GetFolder([out, retval] IDispatch **ppid); - - [propget, helpstring("Is the item a link?")] - HRESULT IsLink([out, retval] VARIANT_BOOL *pb); - - [propget, helpstring("Is the item a Folder?")] - HRESULT IsFolder([out, retval] VARIANT_BOOL *pb); - - [propget, helpstring("Is the item a file system object?")] - HRESULT IsFileSystem([out, retval] VARIANT_BOOL *pb); - - [propget, helpstring("Is the item browsable?")] - HRESULT IsBrowsable([out, retval] VARIANT_BOOL *pb); - - [propget, helpstring("Modification Date?")] - HRESULT ModifyDate([out, retval] DATE *pdt); - - [propput, helpstring("Modification Date?")] - HRESULT ModifyDate([in] DATE dt); - - [propget, helpstring("Size")] - HRESULT Size([out, retval] LONG *pul); - - [propget, helpstring("Type")] - HRESULT Type([out, retval] BSTR *pbs); - - [helpstring("Get the list of verbs for the object")] - HRESULT Verbs([out, retval] FolderItemVerbs **ppfic); - - [helpstring("Execute a command on the item")] - HRESULT InvokeVerb([in,optional] VARIANT vVerb); - } - - [ - uuid(744129E0-CBE5-11CE-8350-444553540000), // IID_FolderItems - helpstring("Definition of interface FolderItems"), - oleautomation, - dual, - odl, - ] - interface FolderItems : IDispatch - { - //Properties - [propget, helpstring("Get count of items in the folder")] - HRESULT Count([out, retval] long *plCount); - - [propget, helpstring("Get Application object")] - HRESULT Application ([out, retval] IDispatch **ppid); - - [propget, helpstring("Get Parent object")] - HRESULT Parent([out, retval] IDispatch **ppid); - - //Methods - //Standard Methods - [helpstring("Return the figure for the given index")] - HRESULT Item([in,optional] VARIANT index, [out, retval]FolderItem **ppid); - - [id(-4), helpstring("Enumerates the figures")] - HRESULT _NewEnum([out, retval] IUnknown **ppunk); - } - - [ - uuid(BBCBDE60-C3FF-11CE-8350-444553540000), // IID_Folder - helpstring("Definition of interface Folder"), - oleautomation, - dual, - odl, - ] - interface Folder : IDispatch - { - //Properties - [id(0), propget, helpstring("Get the display name for the window")] - HRESULT Title([out, retval] BSTR *pbs); - - [propget, helpstring("Get Application object")] - HRESULT Application ([out, retval] IDispatch **ppid); - - [propget, helpstring("Get Parent object")] - HRESULT Parent([out, retval] IDispatch **ppid); - - [propget, helpstring("Get Parent object")] - HRESULT ParentFolder([out, retval] Folder **ppsf); - - //Methods - [helpstring("The collection of Items in folder")] - HRESULT Items([out, retval] FolderItems **ppid); - - [helpstring("Parse the name to get an item.")] - HRESULT ParseName([in] BSTR bName, [out, retval] FolderItem **ppid); - - [helpstring("Create a new sub folder in this folder.")] - HRESULT NewFolder([in] BSTR bName, [in, optional] VARIANT vOptions); - - [helpstring("Move Items to this folder.")] - HRESULT MoveHere([in] VARIANT vItem, [in, optional] VARIANT vOptions); - - [helpstring("Copy Items to this folder.")] - HRESULT CopyHere([in] VARIANT vItem, [in, optional] VARIANT vOptions); - - [helpstring("Get the details about an item.")] - HRESULT GetDetailsOf([in] VARIANT vItem, [in] int iColumn, [out, retval]BSTR *pbs); - } - - [ - uuid(E7A1AF80-4D96-11CF-960C-0080C7F4EE85), // IID_IShellFolderViewDual - helpstring("definition of interface IShellFolderViewDual"), - oleautomation, - hidden, - dual, - odl, - ] - interface IShellFolderViewDual : IDispatch - { - [propget, helpstring("Get Application object")] - HRESULT Application([out, retval] IDispatch **ppid); - - [propget, helpstring("Get Parent object")] - HRESULT Parent([out, retval] IDispatch **ppid); - - [propget, helpstring("Get the folder being viewed")] - HRESULT Folder([out, retval] Folder **ppid); - - [helpstring("The collection of Selected Items in folder")] - HRESULT SelectedItems([out, retval] FolderItems **ppid); - - [propget, helpstring("The currently focused item in the folder")] - HRESULT FocusedItem([out, retval] FolderItem **ppid); - - [helpstring("Select the item")] - HRESULT SelectItem([in]VARIANT *pvfi, [in] int dwFlags); - - [helpstring("Show items menu and return command selected")] - HRESULT PopupItemMenu([in]FolderItem *pfi, [in, optional]VARIANT vx, [in, optional]VARIANT vy, [out, retval] BSTR *pbs); - - [propget, helpstring("Returns the scripting automation model."), helpcontext(0x0000)] - HRESULT Script([out,retval] IDispatch** ppDisp); - - [propget, helpstring("Returns the view options for showing a folder."), helpcontext(0x0000)] - HRESULT ViewOptions([out,retval] long * plViewOptions); - } - - [ - uuid(62112AA1-EBE4-11cf-A5FB-0020AFE7292D), // CLSID_ShellFolderView - helpstring("Shell Folder View Object") - ] - coclass ShellFolderView - { - [default] interface IShellFolderViewDual; - [source,default] dispinterface DShellFolderViewEvents; - } - - typedef - [ - uuid(742A99A0-C77E-11D0-A32C-00A0C91EEDBA), - helpstring("Constants for ViewOptions") - ] - enum ShellFolderViewOptions { - [helpstring("Show All Objects")] SFVVO_SHOWALLOBJECTS = 0x00000001, - [helpstring("Show File Extensions")] SFVVO_SHOWEXTENSIONS = 0x00000002, - [helpstring("Color encode Compressed files")] SFVVO_SHOWCOMPCOLOR = 0x00000008, - [helpstring("Show System Files")] SFVVO_SHOWSYSFILES = 0x00000020, - [helpstring("Use Windows 95 UI settings")] SFVVO_WIN95CLASSIC = 0x00000040, - [helpstring("User needs to double click in web View")] SFVVO_DOUBLECLICKINWEBVIEW = 0x00000080, - [helpstring("Is Desktop HTML enabled")] SFVVO_DESKTOPHTML = 0x00000200, - } ShellFolderViewOptions; - - [ - uuid(D8F015C0-C278-11CE-A49E-444553540000), // IID_IShellDispatch - helpstring("Definition of interface IShellDispatch"), - oleautomation, - hidden, - dual, - odl, - ] - interface IShellDispatch : IDispatch - { - [propget, helpstring("Get Application object")] - HRESULT Application ([out, retval] IDispatch **ppid); - - [propget, helpstring("Get Parent object")] - HRESULT Parent([out, retval] IDispatch **ppid); - - //========================================================= - // Name Space methods and properties - - [helpstring("Enum the contents of a folder")] - HRESULT NameSpace([in] VARIANT vDir, [out, retval] Folder **ppsdf); - - [helpstring("Browse the name space for a Folder")] - HRESULT BrowseForFolder([in] long Hwnd, - [in] BSTR Title, - [in] long Options, - [in,optional] VARIANT RootFolder, - [out, retval] FOLDER **ppsdf); - - [helpstring("The collection of open folder windows")] - HRESULT Windows([out, retval] IDispatch **ppid); - - [helpstring("Open a folder")] - HRESULT Open([in] VARIANT vDir); - - [helpstring("Explore a folder")] - HRESULT Explore([in] VARIANT vDir); - - [helpstring("Minimize all windows")] - HRESULT MinimizeAll(void); - - [helpstring("Undo Minimize All")] - HRESULT UndoMinimizeALL(void); - - [helpstring("Bring up the file run")] - HRESULT FileRun(void); - - [helpstring("Cascade Windows")] - HRESULT CascadeWindows(void); - - [helpstring("Tile windows vertically")] - HRESULT TileVertically(void); - - [helpstring("Tile windows horizontally")] - HRESULT TileHorizontally(void); - - [helpstring("Exit Windows")] - HRESULT ShutdownWindows(void); - - [helpstring("Suspend the pc")] - HRESULT Suspend(void); - - [helpstring("Eject the pc")] - HRESULT EjectPC(void); - - [helpstring("Bring up the Set time dialog")] - HRESULT SetTime(void); - - [helpstring("Handle Tray properties")] - HRESULT TrayProperties(void); - - [helpstring("Display shell help")] - HRESULT Help(void); - - [helpstring("Find Files")] - HRESULT FindFiles(void); - - [helpstring("Find a computer")] - HRESULT FindComputer(void); - - [helpstring("Refresh the menu")] - HRESULT RefreshMenu(void); - - [helpstring("Run a controlpanelItem")] - HRESULT ControlPanelItem([in] BSTR szDir); - } - - [ - uuid(13709620-C279-11CE-A49E-444553540000), // CLSID_Shell - helpstring("Shell Object Type Information") - ] - coclass Shell - { - [default] interface IShellDispatch; - } - - [ - uuid(0A89A860-D7B1-11CE-8350-444553540000), // CLSID_ShellDispatchInproc - helpstring("ShellDispatch Load in Shell Context"), - hidden - ] - coclass ShellDispatchInproc - { - interface IUnknown; - } - - [ - uuid(1820FED0-473E-11D0-A96C-00C04FD705A2), // CLSID_WebViewFolderContents - hidden - ] - coclass WebViewFolderContents - { - [default] interface IShellFolderViewDual; - [source,default] dispinterface DShellFolderViewEvents; - } - - typedef - [ - uuid(CA31EA20-48D0-11CF-8350-444553540000), - helpstring("Constants for Special Folders for open/Explore") - ] - enum ShellSpecialFolderConstants { - [helpstring("Special Folder DESKTOP")] ssfDESKTOP = 0x0000, - [helpstring("Special Folder PROGRAMS")] ssfPROGRAMS = 0x0002, - [helpstring("Special Folder CONTROLS")] ssfCONTROLS = 0x0003, - [helpstring("Special Folder PRINTERS")] ssfPRINTERS = 0x0004, - [helpstring("Special Folder PERSONAL")] ssfPERSONAL = 0x0005, - [helpstring("Special Folder FAVORITES")] ssfFAVORITES = 0x0006, - [helpstring("Special Folder STARTUP")] ssfSTARTUP = 0x0007, - [helpstring("Special Folder RECENT")] ssfRECENT = 0x0008, - [helpstring("Special Folder SENDTO")] ssfSENDTO = 0x0009, - [helpstring("Special Folder BITBUCKET")] ssfBITBUCKET = 0x000a, - [helpstring("Special Folder STARTMENU")] ssfSTARTMENU = 0x000b, - [helpstring("Special Folder DESKTOPDIRECTORY")] ssfDESKTOPDIRECTORY = 0x0010, - [helpstring("Special Folder DRIVES")] ssfDRIVES = 0x0011, - [helpstring("Special Folder NETWORK")] ssfNETWORK = 0x0012, - [helpstring("Special Folder NETHOOD")] ssfNETHOOD = 0x0013, - [helpstring("Special Folder FONTS")] ssfFONTS = 0x0014, - [helpstring("Special Folder TEMPLATES")] ssfTEMPLATES = 0x0015, - } ShellSpecialFolderConstants; - - [ - uuid(729FE2F8-1EA8-11d1-8F85-00C04FC2FBE1), // IID_IShellUIHelper - helpstring("Shell UI Helper Control Interface"), - oleautomation, dual - ] - interface IShellUIHelper : IDispatch - { - [hidden, id(DISPID_RESETFIRSTBOOTMODE)] HRESULT ResetFirstBootMode(); - [hidden, id(DISPID_RESETSAFEMODE)] HRESULT ResetSafeMode(); - [hidden, id(DISPID_REFRESHOFFLINEDESKTOP)] HRESULT RefreshOfflineDesktop(); - [id(DISPID_ADDFAVORITE)] HRESULT AddFavorite([in] BSTR URL, [optional, in] VARIANT *Title); - [id(DISPID_ADDCHANNEL)] HRESULT AddChannel([in] BSTR URL); - [id(DISPID_ADDDESKTOPCOMPONENT)] HRESULT AddDesktopComponent([in] BSTR URL, [in] BSTR Type, - [optional, in] VARIANT *Left, - [optional, in] VARIANT *Top, - [optional, in] VARIANT *Width, - [optional, in] VARIANT *Height); - [id(DISPID_ISSUBSCRIBED)] HRESULT IsSubscribed([in] BSTR URL, [out,retval] VARIANT_BOOL* pBool); - } - [ - uuid(64AB4BB7-111E-11d1-8F79-00C04FC2FBE1) // CLSID_ShellUIHelper - ] - coclass ShellUIHelper - { - [default] interface IShellUIHelper; - } -*/ -} // extern (Windows) - +module dwt.internal.ole.win32.EXDISP; +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright 1995 - 1998 Microsoft Corporation. All Rights Reserved. +// +//-------------------------------------------------------------------------- +//private import std.c.windows.windows; +//private import std.c.windows.com; +private import dwt.internal.ole.win32.OAIDL; +private import dwt.internal.ole.win32.OLEIDL; +private import dwt.internal.ole.win32.DOCOBJ; +private import dwt.internal.ole.win32.extras; +import dwt.internal.win32.WINTYPES; + +extern (Windows) { + + enum BrowserNavConstants { + navOpenInNewWindow = 0x0001, + navNoHistory = 0x0002, + navNoReadFromCache = 0x0004, + navNoWriteToCache = 0x0008, + navAllowAutosearch = 0x0010, + navBrowserBar = 0x0020, + }; + enum RefreshConstants { // must map to these in sdk\inc\docobj.h + REFRESH_NORMAL = 0, //== OLECMDIDF_REFRESH_NORMAL + REFRESH_IFEXPIRED = 1, //== OLECMDIDF_REFRESH_IFEXPIRED + REFRESH_COMPLETELY = 3 //== OLECMDIDF_REFRESH_COMPLETELY + }; + +interface IWebBrowser : IDispatch +{ + HRESULT GoBack(); + HRESULT GoForward(); + HRESULT GoHome(); + HRESULT GoSearch(); + + HRESULT Navigate( BSTR URL, + VARIANT * Flags, + VARIANT * TargetFrameName, + VARIANT * PostData, + VARIANT * Headers); + + HRESULT Refresh(); + + HRESULT Refresh2(VARIANT * Level); + + HRESULT Stop(); + + HRESULT Application( IDispatch* ppDisp); + + HRESULT Parent( IDispatch* ppDisp); + + HRESULT Container( IDispatch* ppDisp); + + HRESULT Document( IDispatch* ppDisp); + + HRESULT TopLevelContainer( VARIANT_BOOL* pBool); + + HRESULT Type( BSTR* Type); + + // Window stuff... + HRESULT Left( LONG *pl); + HRESULT Put_Left( LONG Left); + HRESULT Top( LONG *pl); + HRESULT Put_Top( LONG Top); + HRESULT Width(LONG *pl); + HRESULT Put_Width(LONG Width); + HRESULT Height(LONG *pl); + HRESULT Put_Height(LONG Height); + + // WebBrowser stuff... + HRESULT LocationName( BSTR *LocationName); + + HRESULT LocationURL( BSTR * LocationURL); + + HRESULT Busy( VARIANT_BOOL *pBool); + } + +/* //not sure how to process this + dispinterface DWebBrowserEvents + { + properties: + methods: + [id(DISPID_BEFORENAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)] + void BeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel); + + [id(DISPID_NAVIGATECOMPLETE), helpstring("Fired when the document being navigated to becomes visible and enters the navigation stack."), helpcontext(0x0000)] + void NavigateComplete([in] BSTR URL ); + + [id(DISPID_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)] + void StatusTextChange([in]BSTR Text); + + [id(DISPID_PROGRESSCHANGE), helpstring("Fired when download progress is updated."), helpcontext(0x0000)] + void ProgressChange([in] long Progress, [in] long ProgressMax); + + [id(DISPID_DOWNLOADCOMPLETE), helpstring("Download of page complete."), helpcontext(0x0000)] + void DownloadComplete(); + + [id(DISPID_COMMANDSTATECHANGE), helpstring("The enabled state of a command changed"), helpcontext(0x0000)] + void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable); + + [id(DISPID_DOWNLOADBEGIN), helpstring("Download of a page started."), helpcontext(0x000)] + void DownloadBegin(); + + [id(DISPID_NEWWINDOW), helpstring("Fired when a new window should be created."), helpcontext(0x0000)] + void NewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed); + + [id(DISPID_TITLECHANGE), helpstring("Document title changed."), helpcontext(0x0000)] + void TitleChange([in]BSTR Text); + + [id(DISPID_FRAMEBEFORENAVIGATE), helpstring("Fired when a new hyperlink is being navigated to in a frame."), helpcontext(0x0000)] + void FrameBeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel); + + [id(DISPID_FRAMENAVIGATECOMPLETE), helpstring("Fired when a new hyperlink is being navigated to in a frame."), helpcontext(0x0000)] + void FrameNavigateComplete([in] BSTR URL ); + + [id(DISPID_FRAMENEWWINDOW), helpstring("Fired when a new window should be created."), helpcontext(0x0000)] + void FrameNewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed); + + // The following are IWebBrowserApp specific: + // + [id(DISPID_QUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)] + void Quit([in, out] VARIANT_BOOL * Cancel); + + [id(DISPID_WINDOWMOVE), helpstring("Fired when window has been moved."), helpcontext(0x0000)] + void WindowMove(); + + [id(DISPID_WINDOWRESIZE), helpstring("Fired when window has been sized."), helpcontext(0x0000)] + void WindowResize(); + + [id(DISPID_WINDOWACTIVATE), helpstring("Fired when window has been activated."), helpcontext(0x0000)] + void WindowActivate(); + + [id(DISPID_PROPERTYCHANGE), helpstring("Fired when the PutProperty method has been called."), helpcontext(0x0000)] + void PropertyChange([in] BSTR Property); + } + */ + + enum CommandStateChangeConstants : uint { + CSC_UPDATECOMMANDS = 0xFFFFFFFF, + CSC_NAVIGATEFORWARD = 0x00000001, + CSC_NAVIGATEBACK = 0x00000002, + } + + interface IWebBrowserApp : IWebBrowser + { + HRESULT Quit(); + + HRESULT ClientToWindow( int* pcx, int* pcy); + + HRESULT PutProperty( BSTR Property, VARIANT vtValue); + HRESULT GetProperty( BSTR Property, VARIANT *pvtValue); + + HRESULT Name( BSTR* Name); + + HRESULT HWND(LONG *pHWND); + + HRESULT FullName( BSTR* FullName); + + HRESULT Path( BSTR* Path); + + HRESULT Visible( VARIANT_BOOL* pBool); + HRESULT Visible( VARIANT_BOOL Value); + + HRESULT StatusBar( VARIANT_BOOL* pBool); + HRESULT StatusBar( VARIANT_BOOL Value); + + HRESULT StatusText( BSTR *StatusText); + HRESULT StatusText( BSTR StatusText); + + HRESULT ToolBar( int * Value); + HRESULT ToolBar( int Value); + + HRESULT MenuBar( VARIANT_BOOL * Value); + HRESULT MenuBar( VARIANT_BOOL Value); + + HRESULT FullScreen( VARIANT_BOOL * pbFullScreen); + HRESULT FullScreen( VARIANT_BOOL bFullScreen); + } + + interface IWebBrowser2 : IWebBrowserApp + { + HRESULT Navigate2( VARIANT * URL, + VARIANT * Flags, + VARIANT * TargetFrameName, + VARIANT * PostData, + VARIANT * Headers); + + + HRESULT QueryStatusWB( OLECMDID cmdID, OLECMDF * pcmdf); + HRESULT ExecWB( OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, VARIANT * pvaIn, VARIANT * pvaOut); + HRESULT ShowBrowserBar( VARIANT * pvaClsid, + VARIANT * pvarShow, + VARIANT * pvarSize ); + + HRESULT ReadyState(READYSTATE * plReadyState); + + HRESULT Offline(VARIANT_BOOL * pbOffline); + HRESULT Offline( VARIANT_BOOL bOffline); + + HRESULT Silent(VARIANT_BOOL * pbSilent); + HRESULT Silent(VARIANT_BOOL bSilent); + + HRESULT RegisterAsBrowser(VARIANT_BOOL * pbRegister); + HRESULT RegisterAsBrowser(VARIANT_BOOL bRegister); + + HRESULT RegisterAsDropTarget(VARIANT_BOOL * pbRegister); + HRESULT RegisterAsDropTarget(VARIANT_BOOL bRegister); + + HRESULT TheaterMode(VARIANT_BOOL * pbRegister); + HRESULT TheaterMode(VARIANT_BOOL bRegister); + + HRESULT AddressBar(VARIANT_BOOL * Value); + HRESULT AddressBar(VARIANT_BOOL Value); + + HRESULT Resizable(VARIANT_BOOL * Value); + HRESULT Resizable(VARIANT_BOOL Value); + } + + /* + dispinterface DWebBrowserEvents2 + { + properties: + methods: + [id(DISPID_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)] + void StatusTextChange([in]BSTR Text); + + [id(DISPID_PROGRESSCHANGE), helpstring("Fired when download progress is updated."), helpcontext(0x0000)] + void ProgressChange([in] long Progress, [in] long ProgressMax); + + [id(DISPID_COMMANDSTATECHANGE), helpstring("The enabled state of a command changed."), helpcontext(0x0000)] + void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable); + + [id(DISPID_DOWNLOADBEGIN), helpstring("Download of a page started."), helpcontext(0x000)] + void DownloadBegin(); + + [id(DISPID_DOWNLOADCOMPLETE), helpstring("Download of page complete."), helpcontext(0x0000)] + void DownloadComplete(); + + [id(DISPID_TITLECHANGE), helpstring("Document title changed."), helpcontext(0x0000)] + void TitleChange([in] BSTR Text); + + [id(DISPID_PROPERTYCHANGE), helpstring("Fired when the PutProperty method has been called."), helpcontext(0x0000)] + void PropertyChange([in] BSTR szProperty); + + // New events for IE40: + // + [id(DISPID_BEFORENAVIGATE2), helpstring("Fired before navigate occurs in the given WebBrowser (window or frameset element). The processing of this navigation may be modified."), helpcontext(0x0000)] + void BeforeNavigate2([in] IDispatch* pDisp, + [in] VARIANT * URL, [in] VARIANT * Flags, [in] VARIANT * TargetFrameName, [in] VARIANT * PostData, [in] VARIANT * Headers, + [in,out] VARIANT_BOOL * Cancel); + + [id(DISPID_NEWWINDOW2), helpstring("A new, hidden, non-navigated WebBrowser window is needed."), helpcontext(0x0000)] + void NewWindow2([in, out] IDispatch** ppDisp, [in, out] VARIANT_BOOL * Cancel); + + [id(DISPID_NAVIGATECOMPLETE2), helpstring("Fired when the document being navigated to becomes visible and enters the navigation stack."), helpcontext(0x0000)] + void NavigateComplete2([in] IDispatch* pDisp, [in] VARIANT * URL ); + + [id(DISPID_DOCUMENTCOMPLETE), helpstring("Fired when the document being navigated to reaches ReadyState_Complete."), helpcontext(0x0000)] + void DocumentComplete([in] IDispatch* pDisp, [in] VARIANT * URL ); + + [id(DISPID_ONQUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)] + void OnQuit(); + + [id(DISPID_ONVISIBLE), helpstring("Fired when the window should be shown/hidden"), helpcontext(0x0000)] + void OnVisible([in] VARIANT_BOOL Visible); + + [id(DISPID_ONTOOLBAR), helpstring("Fired when the toolbar should be shown/hidden"), helpcontext(0x0000)] + void OnToolBar([in] VARIANT_BOOL ToolBar); + + [id(DISPID_ONMENUBAR), helpstring("Fired when the menubar should be shown/hidden"), helpcontext(0x0000)] + void OnMenuBar([in] VARIANT_BOOL MenuBar); + + [id(DISPID_ONSTATUSBAR), helpstring("Fired when the statusbar should be shown/hidden"), helpcontext(0x0000)] + void OnStatusBar([in] VARIANT_BOOL StatusBar); + + [id(DISPID_ONFULLSCREEN), helpstring("Fired when fullscreen mode should be on/off"), helpcontext(0x0000)] + void OnFullScreen([in] VARIANT_BOOL FullScreen); + + [id(DISPID_ONTHEATERMODE), helpstring("Fired when theater mode should be on/off"), helpcontext(0x0000)] + void OnTheaterMode([in] VARIANT_BOOL TheaterMode); + } + */ + + /* + + [ + uuid(EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B), // v.1 clsid CLSID_WebBrowser_V1 + control, + helpstring("WebBrowser Control") + ] + coclass WebBrowser_V1 + { + interface IWebBrowser2; + [default] interface IWebBrowser; + [source] dispinterface DWebBrowserEvents2; + [default, source] dispinterface DWebBrowserEvents; + } + + [ + uuid(8856F961-340A-11D0-A96B-00C04FD705A2), // v.2 clsid CLSID_WebBrowser + control, + helpstring("WebBrowser Control") + ] + coclass WebBrowser + { + [default] interface IWebBrowser2; + interface IWebBrowser; + [default, source] dispinterface DWebBrowserEvents2; + [source] dispinterface DWebBrowserEvents; + } + + [ + uuid(0002DF01-0000-0000-C000-000000000046), // CLSID_InternetExplorer + helpstring("Internet Explorer Application."), + ] + coclass InternetExplorer + { + [default] interface IWebBrowser2; + interface IWebBrowserApp; + [default, source] dispinterface DWebBrowserEvents2; + [source] dispinterface DWebBrowserEvents; + } + + */ + + + interface IFolderViewOC : IDispatch + { + HRESULT SetFolderView(IDispatch pdisp); + } + + interface DShellFolderViewEvents + { + void SelectionChanged(); + } + +/* [ + uuid(9BA05971-F6A8-11CF-A442-00A0C90A8F39), // CLSID_ShellFolderViewOC + helpstring("Shell Folder View Events Router."), + hidden + ] + coclass ShellFolderViewOC + { + [default] interface IFolderViewOC; + [default, source] dispinterface DShellFolderViewEvents; + }*/ + enum ShellWindowTypeConstants { + SWC_EXPLORER = 0x0, + SWC_BROWSER = 0x00000001, + SWC_3RDPARTY = 0x00000002, + SWC_CALLBACK = 0x00000004, + } + + enum ShellWindowFindWindowOptions { + SWFO_NEEDDISPATCH = 0x00000001, + SWFO_INCLUDEPENDING = 0x00000002, + SWFO_COOKIEPASSED = 0x00000004, + } + + interface DShellWindowsEvents + { + void WindowRegistered(LONG lCookie); + + void WindowRevoked(LONG lCookie); + } + + interface IShellWindows : IDispatch + { + //Properties + HRESULT Count(LONG *Count); + + HRESULT Item(VARIANT index, IDispatch *Folder); + + HRESULT _NewEnum(IUnknown *ppunk); + + // Some private hidden members to allow shell windows to add and + // remove themself from the list. We mark them hidden to keep + // random VB apps from trying to Register... + HRESULT Register( IDispatch pid, + LONG hwnd, + int swClass, + LONG *plCookie); + + HRESULT RegisterPending(LONG lThreadId, + VARIANT* pvarloc, // will hold pidl that is being opened. + VARIANT* pvarlocRoot, // Optional root pidl + int swClass, + LONG *plCookie); + + HRESULT Revoke(LONG lCookie); + // As an optimization, each window notifies the new location + // only when + // (1) it's being deactivated + // (2) getFullName is called (we overload it to force update) + HRESULT OnNavigate(LONG lCookie, VARIANT* pvarLoc); + HRESULT OnActivated(LONG lCookie, VARIANT_BOOL fActive); + HRESULT FindWindow(VARIANT* pvarLoc, + VARIANT* pvarLocRoot, + int swClass, + LONG * phwnd, + int swfwOptions, + IDispatch* ppdispOut); + HRESULT OnCreated(LONG lCookie,IUnknown punk); + + HRESULT ProcessAttachDetach(VARIANT_BOOL fAttach); + } + + /* + [ + uuid(9BA05972-F6A8-11CF-A442-00A0C90A8F39), // CLSID_ShellWindows + helpstring("ShellDispatch Load in Shell Context") + ] + coclass ShellWindows + { + [default] interface IShellWindows; + [default, source] dispinterface DShellWindowsEvents; + } + */ + + /* + + [ + uuid(88A05C00-F000-11CE-8350-444553540000), // IID_IShellLinkDual + helpstring("Definition of Shell Link IDispatch interface"), + oleautomation, + dual, + odl, + hidden, + ] + interface IShellLinkDual : IDispatch + { + [propget, helpstring("Get the path of the link")] + HRESULT Path([out, retval] BSTR *pbs); + + [propput, helpstring("Set the path of the link")] + HRESULT Path([in] BSTR bs); + + [propget, helpstring("Get the description for the link")] + HRESULT Description([out, retval] BSTR *pbs); + + [propput, helpstring("Set the description for the link")] + HRESULT Description([in] BSTR bs); + + [propget, helpstring("Get the working directory for the link")] + HRESULT WorkingDirectory([out, retval] BSTR *pbs); + + [propput, helpstring("Set the working directory for the link")] + HRESULT WorkingDirectory([in] BSTR bs); + + [propget, helpstring("Get the arguments for the link")] + HRESULT Arguments([out, retval] BSTR *pbs); + + [propput, helpstring("Set the arguments for the link")] + HRESULT Arguments([in] BSTR bs); + + + [propget, helpstring("Get the Hotkey for the link")] + HRESULT Hotkey([out, retval] int *piHK); + + [propput, helpstring("Set the Hotkey for the link")] + HRESULT Hotkey([in] int iHK); + + [propget, helpstring("Get the Show Command for the link")] + HRESULT ShowCommand([out, retval] int *piShowCommand); + + [propput, helpstring("Set the Show Command for the link")] + HRESULT ShowCommand([in] int iShowCommand); + + // STDMETHOD(SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; + //Methods + [helpstring("Tell the link to resolve itself")] + HRESULT Resolve([in] int fFlags); + + [helpstring("Get the IconLocation for the link")] + HRESULT GetIconLocation([out] BSTR *pbs, [out,retval] int *piIcon); + + [helpstring("Set the IconLocation for the link")] + HRESULT SetIconLocation([in] BSTR bs, [in] int iIcon); + + [helpstring("Tell the link to save the changes")] + HRESULT Save ([in, optional] VARIANT vWhere); + } + + [ + uuid(11219420-1768-11d1-95BE-00609797EA4F), // CLSID_ShellLinkObject + helpstring("Shell Link object") + ] + coclass ShellLinkObject // funny name so we don't conflict with CLSID_ShellLink + { + [default] interface IShellLinkDual; + } + + [ + uuid(08EC3E00-50B0-11CF-960C-0080C7F4EE85), // IID_FolderItemVerb + helpstring("Definition of interface FolderItemVerb"), + oleautomation, + dual, + odl, + ] + interface FolderItemVerb : IDispatch + { + [propget, helpstring("Get Application object")] + HRESULT Application ([out, retval] IDispatch **ppid); + + [propget, helpstring("Get Parent object")] + HRESULT Parent([out, retval] IDispatch **ppid); + + [id(0), propget, helpstring("Get display name for item")] + HRESULT Name([out, retval] BSTR *pbs); + + [helpstring("Execute the verb")] + HRESULT DoIt(); + } + + [ + uuid(1F8352C0-50B0-11CF-960C-0080C7F4EE85), // IID_FolderItemVerbs + helpstring("Definition of interface FolderItemVerbs"), + oleautomation, + dual, + odl, + ] + interface FolderItemVerbs : IDispatch + { + //Properties + [propget, helpstring("Get count of open folder windows")] + HRESULT Count([out, retval] long *plCount); + + [propget, helpstring("Get Application object")] + HRESULT Application ([out, retval] IDispatch **ppid); + + [propget, helpstring("Get Parent object")] + HRESULT Parent([out, retval] IDispatch **ppid); + + //Methods + //Standard Methods + [helpstring("Return the specified verb")] + HRESULT Item([in,optional] VARIANT index, [out, retval]FolderItemVerb **ppid); + + [id(-4), helpstring("Enumerates the figures")] + HRESULT _NewEnum([out, retval] IUnknown **ppunk); + } + + interface Folder; // forward reference + + [ + uuid(FAC32C80-CBE4-11CE-8350-444553540000), // IID_FolderItem + helpstring("Definition of interface FolderItem"), + oleautomation, + dual, + odl, + ] + interface FolderItem : IDispatch + { + [propget, helpstring("Get Application object")] + HRESULT Application ([out, retval] IDispatch **ppid); + + [propget, helpstring("Get Parent object")] + HRESULT Parent([out, retval] IDispatch **ppid); + + [id(0), propget, helpstring("Get display name for item")] + HRESULT Name([out, retval] BSTR *pbs); + + [id(0), propput, helpstring("Set the name for the item")] + HRESULT Name([in] BSTR bs); + + [propget, helpstring("Get the pathname to the item")] + HRESULT Path([out, retval]BSTR *pbs); + + [propget, helpstring("If item is link return link object")] + HRESULT GetLink([out, retval] IDispatch **ppid); + + [propget, helpstring("If item is a folder return folder object")] + HRESULT GetFolder([out, retval] IDispatch **ppid); + + [propget, helpstring("Is the item a link?")] + HRESULT IsLink([out, retval] VARIANT_BOOL *pb); + + [propget, helpstring("Is the item a Folder?")] + HRESULT IsFolder([out, retval] VARIANT_BOOL *pb); + + [propget, helpstring("Is the item a file system object?")] + HRESULT IsFileSystem([out, retval] VARIANT_BOOL *pb); + + [propget, helpstring("Is the item browsable?")] + HRESULT IsBrowsable([out, retval] VARIANT_BOOL *pb); + + [propget, helpstring("Modification Date?")] + HRESULT ModifyDate([out, retval] DATE *pdt); + + [propput, helpstring("Modification Date?")] + HRESULT ModifyDate([in] DATE dt); + + [propget, helpstring("Size")] + HRESULT Size([out, retval] LONG *pul); + + [propget, helpstring("Type")] + HRESULT Type([out, retval] BSTR *pbs); + + [helpstring("Get the list of verbs for the object")] + HRESULT Verbs([out, retval] FolderItemVerbs **ppfic); + + [helpstring("Execute a command on the item")] + HRESULT InvokeVerb([in,optional] VARIANT vVerb); + } + + [ + uuid(744129E0-CBE5-11CE-8350-444553540000), // IID_FolderItems + helpstring("Definition of interface FolderItems"), + oleautomation, + dual, + odl, + ] + interface FolderItems : IDispatch + { + //Properties + [propget, helpstring("Get count of items in the folder")] + HRESULT Count([out, retval] long *plCount); + + [propget, helpstring("Get Application object")] + HRESULT Application ([out, retval] IDispatch **ppid); + + [propget, helpstring("Get Parent object")] + HRESULT Parent([out, retval] IDispatch **ppid); + + //Methods + //Standard Methods + [helpstring("Return the figure for the given index")] + HRESULT Item([in,optional] VARIANT index, [out, retval]FolderItem **ppid); + + [id(-4), helpstring("Enumerates the figures")] + HRESULT _NewEnum([out, retval] IUnknown **ppunk); + } + + [ + uuid(BBCBDE60-C3FF-11CE-8350-444553540000), // IID_Folder + helpstring("Definition of interface Folder"), + oleautomation, + dual, + odl, + ] + interface Folder : IDispatch + { + //Properties + [id(0), propget, helpstring("Get the display name for the window")] + HRESULT Title([out, retval] BSTR *pbs); + + [propget, helpstring("Get Application object")] + HRESULT Application ([out, retval] IDispatch **ppid); + + [propget, helpstring("Get Parent object")] + HRESULT Parent([out, retval] IDispatch **ppid); + + [propget, helpstring("Get Parent object")] + HRESULT ParentFolder([out, retval] Folder **ppsf); + + //Methods + [helpstring("The collection of Items in folder")] + HRESULT Items([out, retval] FolderItems **ppid); + + [helpstring("Parse the name to get an item.")] + HRESULT ParseName([in] BSTR bName, [out, retval] FolderItem **ppid); + + [helpstring("Create a new sub folder in this folder.")] + HRESULT NewFolder([in] BSTR bName, [in, optional] VARIANT vOptions); + + [helpstring("Move Items to this folder.")] + HRESULT MoveHere([in] VARIANT vItem, [in, optional] VARIANT vOptions); + + [helpstring("Copy Items to this folder.")] + HRESULT CopyHere([in] VARIANT vItem, [in, optional] VARIANT vOptions); + + [helpstring("Get the details about an item.")] + HRESULT GetDetailsOf([in] VARIANT vItem, [in] int iColumn, [out, retval]BSTR *pbs); + } + + [ + uuid(E7A1AF80-4D96-11CF-960C-0080C7F4EE85), // IID_IShellFolderViewDual + helpstring("definition of interface IShellFolderViewDual"), + oleautomation, + hidden, + dual, + odl, + ] + interface IShellFolderViewDual : IDispatch + { + [propget, helpstring("Get Application object")] + HRESULT Application([out, retval] IDispatch **ppid); + + [propget, helpstring("Get Parent object")] + HRESULT Parent([out, retval] IDispatch **ppid); + + [propget, helpstring("Get the folder being viewed")] + HRESULT Folder([out, retval] Folder **ppid); + + [helpstring("The collection of Selected Items in folder")] + HRESULT SelectedItems([out, retval] FolderItems **ppid); + + [propget, helpstring("The currently focused item in the folder")] + HRESULT FocusedItem([out, retval] FolderItem **ppid); + + [helpstring("Select the item")] + HRESULT SelectItem([in]VARIANT *pvfi, [in] int dwFlags); + + [helpstring("Show items menu and return command selected")] + HRESULT PopupItemMenu([in]FolderItem *pfi, [in, optional]VARIANT vx, [in, optional]VARIANT vy, [out, retval] BSTR *pbs); + + [propget, helpstring("Returns the scripting automation model."), helpcontext(0x0000)] + HRESULT Script([out,retval] IDispatch** ppDisp); + + [propget, helpstring("Returns the view options for showing a folder."), helpcontext(0x0000)] + HRESULT ViewOptions([out,retval] long * plViewOptions); + } + + [ + uuid(62112AA1-EBE4-11cf-A5FB-0020AFE7292D), // CLSID_ShellFolderView + helpstring("Shell Folder View Object") + ] + coclass ShellFolderView + { + [default] interface IShellFolderViewDual; + [source,default] dispinterface DShellFolderViewEvents; + } + + typedef + [ + uuid(742A99A0-C77E-11D0-A32C-00A0C91EEDBA), + helpstring("Constants for ViewOptions") + ] + enum ShellFolderViewOptions { + [helpstring("Show All Objects")] SFVVO_SHOWALLOBJECTS = 0x00000001, + [helpstring("Show File Extensions")] SFVVO_SHOWEXTENSIONS = 0x00000002, + [helpstring("Color encode Compressed files")] SFVVO_SHOWCOMPCOLOR = 0x00000008, + [helpstring("Show System Files")] SFVVO_SHOWSYSFILES = 0x00000020, + [helpstring("Use Windows 95 UI settings")] SFVVO_WIN95CLASSIC = 0x00000040, + [helpstring("User needs to double click in web View")] SFVVO_DOUBLECLICKINWEBVIEW = 0x00000080, + [helpstring("Is Desktop HTML enabled")] SFVVO_DESKTOPHTML = 0x00000200, + } ShellFolderViewOptions; + + [ + uuid(D8F015C0-C278-11CE-A49E-444553540000), // IID_IShellDispatch + helpstring("Definition of interface IShellDispatch"), + oleautomation, + hidden, + dual, + odl, + ] + interface IShellDispatch : IDispatch + { + [propget, helpstring("Get Application object")] + HRESULT Application ([out, retval] IDispatch **ppid); + + [propget, helpstring("Get Parent object")] + HRESULT Parent([out, retval] IDispatch **ppid); + + //========================================================= + // Name Space methods and properties + + [helpstring("Enum the contents of a folder")] + HRESULT NameSpace([in] VARIANT vDir, [out, retval] Folder **ppsdf); + + [helpstring("Browse the name space for a Folder")] + HRESULT BrowseForFolder([in] long Hwnd, + [in] BSTR Title, + [in] long Options, + [in,optional] VARIANT RootFolder, + [out, retval] FOLDER **ppsdf); + + [helpstring("The collection of open folder windows")] + HRESULT Windows([out, retval] IDispatch **ppid); + + [helpstring("Open a folder")] + HRESULT Open([in] VARIANT vDir); + + [helpstring("Explore a folder")] + HRESULT Explore([in] VARIANT vDir); + + [helpstring("Minimize all windows")] + HRESULT MinimizeAll(void); + + [helpstring("Undo Minimize All")] + HRESULT UndoMinimizeALL(void); + + [helpstring("Bring up the file run")] + HRESULT FileRun(void); + + [helpstring("Cascade Windows")] + HRESULT CascadeWindows(void); + + [helpstring("Tile windows vertically")] + HRESULT TileVertically(void); + + [helpstring("Tile windows horizontally")] + HRESULT TileHorizontally(void); + + [helpstring("Exit Windows")] + HRESULT ShutdownWindows(void); + + [helpstring("Suspend the pc")] + HRESULT Suspend(void); + + [helpstring("Eject the pc")] + HRESULT EjectPC(void); + + [helpstring("Bring up the Set time dialog")] + HRESULT SetTime(void); + + [helpstring("Handle Tray properties")] + HRESULT TrayProperties(void); + + [helpstring("Display shell help")] + HRESULT Help(void); + + [helpstring("Find Files")] + HRESULT FindFiles(void); + + [helpstring("Find a computer")] + HRESULT FindComputer(void); + + [helpstring("Refresh the menu")] + HRESULT RefreshMenu(void); + + [helpstring("Run a controlpanelItem")] + HRESULT ControlPanelItem([in] BSTR szDir); + } + + [ + uuid(13709620-C279-11CE-A49E-444553540000), // CLSID_Shell + helpstring("Shell Object Type Information") + ] + coclass Shell + { + [default] interface IShellDispatch; + } + + [ + uuid(0A89A860-D7B1-11CE-8350-444553540000), // CLSID_ShellDispatchInproc + helpstring("ShellDispatch Load in Shell Context"), + hidden + ] + coclass ShellDispatchInproc + { + interface IUnknown; + } + + [ + uuid(1820FED0-473E-11D0-A96C-00C04FD705A2), // CLSID_WebViewFolderContents + hidden + ] + coclass WebViewFolderContents + { + [default] interface IShellFolderViewDual; + [source,default] dispinterface DShellFolderViewEvents; + } + + typedef + [ + uuid(CA31EA20-48D0-11CF-8350-444553540000), + helpstring("Constants for Special Folders for open/Explore") + ] + enum ShellSpecialFolderConstants { + [helpstring("Special Folder DESKTOP")] ssfDESKTOP = 0x0000, + [helpstring("Special Folder PROGRAMS")] ssfPROGRAMS = 0x0002, + [helpstring("Special Folder CONTROLS")] ssfCONTROLS = 0x0003, + [helpstring("Special Folder PRINTERS")] ssfPRINTERS = 0x0004, + [helpstring("Special Folder PERSONAL")] ssfPERSONAL = 0x0005, + [helpstring("Special Folder FAVORITES")] ssfFAVORITES = 0x0006, + [helpstring("Special Folder STARTUP")] ssfSTARTUP = 0x0007, + [helpstring("Special Folder RECENT")] ssfRECENT = 0x0008, + [helpstring("Special Folder SENDTO")] ssfSENDTO = 0x0009, + [helpstring("Special Folder BITBUCKET")] ssfBITBUCKET = 0x000a, + [helpstring("Special Folder STARTMENU")] ssfSTARTMENU = 0x000b, + [helpstring("Special Folder DESKTOPDIRECTORY")] ssfDESKTOPDIRECTORY = 0x0010, + [helpstring("Special Folder DRIVES")] ssfDRIVES = 0x0011, + [helpstring("Special Folder NETWORK")] ssfNETWORK = 0x0012, + [helpstring("Special Folder NETHOOD")] ssfNETHOOD = 0x0013, + [helpstring("Special Folder FONTS")] ssfFONTS = 0x0014, + [helpstring("Special Folder TEMPLATES")] ssfTEMPLATES = 0x0015, + } ShellSpecialFolderConstants; + + [ + uuid(729FE2F8-1EA8-11d1-8F85-00C04FC2FBE1), // IID_IShellUIHelper + helpstring("Shell UI Helper Control Interface"), + oleautomation, dual + ] + interface IShellUIHelper : IDispatch + { + [hidden, id(DISPID_RESETFIRSTBOOTMODE)] HRESULT ResetFirstBootMode(); + [hidden, id(DISPID_RESETSAFEMODE)] HRESULT ResetSafeMode(); + [hidden, id(DISPID_REFRESHOFFLINEDESKTOP)] HRESULT RefreshOfflineDesktop(); + [id(DISPID_ADDFAVORITE)] HRESULT AddFavorite([in] BSTR URL, [optional, in] VARIANT *Title); + [id(DISPID_ADDCHANNEL)] HRESULT AddChannel([in] BSTR URL); + [id(DISPID_ADDDESKTOPCOMPONENT)] HRESULT AddDesktopComponent([in] BSTR URL, [in] BSTR Type, + [optional, in] VARIANT *Left, + [optional, in] VARIANT *Top, + [optional, in] VARIANT *Width, + [optional, in] VARIANT *Height); + [id(DISPID_ISSUBSCRIBED)] HRESULT IsSubscribed([in] BSTR URL, [out,retval] VARIANT_BOOL* pBool); + } + [ + uuid(64AB4BB7-111E-11d1-8F79-00C04FC2FBE1) // CLSID_ShellUIHelper + ] + coclass ShellUIHelper + { + [default] interface IShellUIHelper; + } +*/ +} // extern (Windows) +
--- a/dwt/internal/ole/win32/MSHTMHST.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/ole/win32/MSHTMHST.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,209 +1,209 @@ -module dwt.internal.ole.win32.MSHTMHST; -//+------------------------------------------------------------------------ -// -// Microsoft Forms -// Copyright 1996 - 1998 Microsoft Corporation. -// -// File: mshtmhst.idl -// -// Contents: MSHTML advanced host interfaces -// -//------------------------------------------------------------------------- - -//private import std.c.windows.windows; -//private import std.c.windows.com; -import dwt.internal.win32.OS; - -//import win32.oleextra; -private import dwt.internal.ole.win32.extras; -private import dwt.internal.ole.win32.OAIDL; -private import dwt.internal.ole.win32.OBJIDL; -private import dwt.internal.ole.win32.OLEIDL; -private import dwt.internal.ole.win32.DOCOBJ; - -extern( Windows ) { -/* -cpp_quote("#define CONTEXT_MENU_DEFAULT 0") -cpp_quote("#define CONTEXT_MENU_IMAGE 1") -cpp_quote("#define CONTEXT_MENU_CONTROL 2") -cpp_quote("#define CONTEXT_MENU_TABLE 3") -cpp_quote("// in browse mode") -cpp_quote("#define CONTEXT_MENU_TEXTSELECT 4") -cpp_quote("#define CONTEXT_MENU_ANCHOR 5") -cpp_quote("#define CONTEXT_MENU_UNKNOWN 6") -cpp_quote("//;begin_internal") -cpp_quote("// These 2 are mapped to IMAGE for the public") -cpp_quote("#define CONTEXT_MENU_IMGDYNSRC 7") -cpp_quote("#define CONTEXT_MENU_IMGART 8") -cpp_quote("#define CONTEXT_MENU_DEBUG 9") -cpp_quote("//;end_internal") - -cpp_quote("#define MENUEXT_SHOWDIALOG 0x1") - -cpp_quote("#define DOCHOSTUIFLAG_BROWSER DOCHOSTUIFLAG_DISABLE_HELP_MENU | DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE ") - -import "ocidl.idl"; -import "objidl.idl"; -import "oleidl.idl"; -import "oaidl.idl"; -import "docobj.idl"; -import "mshtml.idl"; - -cpp_quote("EXTERN_C const GUID CGID_MSHTML;") -cpp_quote("#define CMDSETID_Forms3 CGID_MSHTML") -cpp_quote("#define SZ_HTML_CLIENTSITE_OBJECTPARAM L\"{d4db6850-5385-11d0-89e9-00a0c90a90ac}\"") -#pragma midl_echo("typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGFN (HWND hwndParent, IMoniker *pmk, VARIANT *pvarArgIn, TCHAR* pchOptions, VARIANT *pvArgOut);") -#pragma midl_echo("STDAPI ShowHTMLDialog( ") -#pragma midl_echo(" HWND hwndParent, ") -#pragma midl_echo(" IMoniker * pMk, ") -#pragma midl_echo(" VARIANT * pvarArgIn, ") -#pragma midl_echo(" TCHAR * pchOptions, ") -#pragma midl_echo(" VARIANT * pvarArgOut ") -#pragma midl_echo(" ); ") -*/ - -//------------------------------------------------------------------------- -// IDocHostUIHandler -// -//------------------------------------------------------------------------- - -enum DOCHOSTUITYPE { - DOCHOSTUITYPE_BROWSE = 0, - DOCHOSTUITYPE_AUTHOR = 1, - BROWSE = 0, - AUTHOR = 1, -} - -enum DOCHOSTUIDBLCLK { - DOCHOSTUIDBLCLK_DEFAULT = 0, - DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1, - DOCHOSTUIDBLCLK_SHOWCODE = 2, - - DEFAULT = 0, - SHOWPROPERTIES = 1, - SHOWCODE = 2, -} - -enum DOCHOSTUIFLAG { - DOCHOSTUIFLAG_DIALOG = 1, - DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2, - DOCHOSTUIFLAG_NO3DBORDER = 4, - DOCHOSTUIFLAG_SCROLL_NO = 8, - DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 16, - DOCHOSTUIFLAG_OPENNEWWIN = 32, - DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 64, - DOCHOSTUIFLAG_FLAT_SCROLLBAR = 128, - DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 256, - DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 512, - DOCHOSTUIFLAG_DISABLE_COOKIE = 1024, -// -// DOCHOSTUIFLAG.name versions -// - DIALOG = 1, - DISABLE_HELP_MENU = 2, - NO3DBORDER = 4, - SCROLL_NO = 8, - DISABLE_SCRIPT_INACTIVE = 16, - OPENNEWWIN = 32, - DISABLE_OFFSCREEN = 64, - FLAT_SCROLLBAR = 128, - DIV_BLOCKDEFAULT = 256, - ACTIVATE_CLIENTHIT_ONLY = 512, - DISABLE_COOKIE = 1024, -} -/* polute the global namespace */ -enum { - DOCHOSTUITYPE_BROWSE = 0, - DOCHOSTUITYPE_AUTHOR = 1, - - DOCHOSTUIDBLCLK_DEFAULT = 0, - DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1, - DOCHOSTUIDBLCLK_SHOWCODE = 2, - - DOCHOSTUIFLAG_DIALOG = 1, - DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2, - DOCHOSTUIFLAG_NO3DBORDER = 4, - DOCHOSTUIFLAG_SCROLL_NO = 8, - DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 16, - DOCHOSTUIFLAG_OPENNEWWIN = 32, - DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 64, - DOCHOSTUIFLAG_FLAT_SCROLLBAR = 128, - DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 256, - DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 512, - DOCHOSTUIFLAG_DISABLE_COOKIE = 1024, -} - -struct DOCHOSTUIINFO -{ - ULONG cbSize; - DWORD dwFlags; - DWORD dwDoubleClick; -} - -interface IDocHostUIHandler : IUnknown -{ - HRESULT ShowContextMenu( DWORD dwID, POINT* ppt, IUnknown pcmdtReserved, IDispatch pdispReserved); - HRESULT GetHostInfo( DOCHOSTUIINFO * pInfo ); - HRESULT ShowUI( DWORD dwID, IOleInPlaceActiveObject pActiveObject, IOleCommandTarget pCommandTarget, IOleInPlaceFrame pFrame, IOleInPlaceUIWindow pDoc ); - HRESULT HideUI(); - HRESULT UpdateUI(); - HRESULT EnableModeless( BOOL fEnable ); - HRESULT OnDocWindowActivate( BOOL fActivate ); - HRESULT OnFrameWindowActivate( BOOL fActivate ); - HRESULT ResizeBorder(LPRECT prcBorder, IOleInPlaceUIWindow pUIWindow, BOOL fRameWindow ); - HRESULT TranslateAccelerator( LPMSG lpMsg, GUID * pguidCmdGroup, DWORD nCmdID ); - HRESULT GetOptionKeyPath( LPOLESTR * pchKey, DWORD dw ); - HRESULT GetDropTarget( IDropTarget pDropTarget, IDropTarget * ppDropTarget ); - HRESULT GetExternal( IDispatch * ppDispatch ); - HRESULT TranslateUrl( DWORD dwTranslate, OLECHAR * pchURLIn, OLECHAR ** ppchURLOut ); - HRESULT FilterDataObject( IDataObject pDO, IDataObject * ppDORet ); -} - - -//------------------------------------------------------------------------- -// ICustomDoc -// -//------------------------------------------------------------------------- - -interface ICustomDoc : IUnknown -{ - HRESULT SetUIHandler( IDocHostUIHandler pUIHandler ); -} - -//------------------------------------------------------------------------- -// IDocHostShowUI -// -//------------------------------------------------------------------------- - -interface IDocHostShowUI : IUnknown -{ - HRESULT ShowMessage( HWND hwnd, LPOLESTR lpstrText, LPOLESTR lpstrCaption, DWORD dwType, LPOLESTR lpstrHelpFile, DWORD dwHelpContext, LRESULT * plResult); - HRESULT ShowHelp( HWND hwnd, LPOLESTR pszHelpFile, UINT uCommand, DWORD dwData, POINT ptMouse, IDispatch pDispatchObjectHit ); -} - -/* - -//------------------------------------------------------------------------- -// ICSSFilterSite -// -//------------------------------------------------------------------------- -interface ICSSFilterSite : IUnknown -{ - HRESULT GetElement( IHTMLElement * ppElem ); - HRESULT FireOnFilterChangeEvent(); -} - - -//------------------------------------------------------------------------- -// ICSSFilter -// -//------------------------------------------------------------------------- -interface ICSSFilter : IUnknown -{ - HRESULT SetSite( ICSSFilterSite * pSink ); - HRESULT OnAmbientPropertyChange( LONG dispid ); -} - -*/ - -} // extern( Windows ) +module dwt.internal.ole.win32.MSHTMHST; +//+------------------------------------------------------------------------ +// +// Microsoft Forms +// Copyright 1996 - 1998 Microsoft Corporation. +// +// File: mshtmhst.idl +// +// Contents: MSHTML advanced host interfaces +// +//------------------------------------------------------------------------- + +//private import std.c.windows.windows; +//private import std.c.windows.com; +import dwt.internal.win32.OS; + +//import win32.oleextra; +private import dwt.internal.ole.win32.extras; +private import dwt.internal.ole.win32.OAIDL; +private import dwt.internal.ole.win32.OBJIDL; +private import dwt.internal.ole.win32.OLEIDL; +private import dwt.internal.ole.win32.DOCOBJ; + +extern( Windows ) { +/* +cpp_quote("#define CONTEXT_MENU_DEFAULT 0") +cpp_quote("#define CONTEXT_MENU_IMAGE 1") +cpp_quote("#define CONTEXT_MENU_CONTROL 2") +cpp_quote("#define CONTEXT_MENU_TABLE 3") +cpp_quote("// in browse mode") +cpp_quote("#define CONTEXT_MENU_TEXTSELECT 4") +cpp_quote("#define CONTEXT_MENU_ANCHOR 5") +cpp_quote("#define CONTEXT_MENU_UNKNOWN 6") +cpp_quote("//;begin_internal") +cpp_quote("// These 2 are mapped to IMAGE for the public") +cpp_quote("#define CONTEXT_MENU_IMGDYNSRC 7") +cpp_quote("#define CONTEXT_MENU_IMGART 8") +cpp_quote("#define CONTEXT_MENU_DEBUG 9") +cpp_quote("//;end_internal") + +cpp_quote("#define MENUEXT_SHOWDIALOG 0x1") + +cpp_quote("#define DOCHOSTUIFLAG_BROWSER DOCHOSTUIFLAG_DISABLE_HELP_MENU | DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE ") + +import "ocidl.idl"; +import "objidl.idl"; +import "oleidl.idl"; +import "oaidl.idl"; +import "docobj.idl"; +import "mshtml.idl"; + +cpp_quote("EXTERN_C const GUID CGID_MSHTML;") +cpp_quote("#define CMDSETID_Forms3 CGID_MSHTML") +cpp_quote("#define SZ_HTML_CLIENTSITE_OBJECTPARAM L\"{d4db6850-5385-11d0-89e9-00a0c90a90ac}\"") +#pragma midl_echo("typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGFN (HWND hwndParent, IMoniker *pmk, VARIANT *pvarArgIn, TCHAR* pchOptions, VARIANT *pvArgOut);") +#pragma midl_echo("STDAPI ShowHTMLDialog( ") +#pragma midl_echo(" HWND hwndParent, ") +#pragma midl_echo(" IMoniker * pMk, ") +#pragma midl_echo(" VARIANT * pvarArgIn, ") +#pragma midl_echo(" TCHAR * pchOptions, ") +#pragma midl_echo(" VARIANT * pvarArgOut ") +#pragma midl_echo(" ); ") +*/ + +//------------------------------------------------------------------------- +// IDocHostUIHandler +// +//------------------------------------------------------------------------- + +enum DOCHOSTUITYPE { + DOCHOSTUITYPE_BROWSE = 0, + DOCHOSTUITYPE_AUTHOR = 1, + BROWSE = 0, + AUTHOR = 1, +} + +enum DOCHOSTUIDBLCLK { + DOCHOSTUIDBLCLK_DEFAULT = 0, + DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1, + DOCHOSTUIDBLCLK_SHOWCODE = 2, + + DEFAULT = 0, + SHOWPROPERTIES = 1, + SHOWCODE = 2, +} + +enum DOCHOSTUIFLAG { + DOCHOSTUIFLAG_DIALOG = 1, + DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2, + DOCHOSTUIFLAG_NO3DBORDER = 4, + DOCHOSTUIFLAG_SCROLL_NO = 8, + DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 16, + DOCHOSTUIFLAG_OPENNEWWIN = 32, + DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 64, + DOCHOSTUIFLAG_FLAT_SCROLLBAR = 128, + DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 256, + DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 512, + DOCHOSTUIFLAG_DISABLE_COOKIE = 1024, +// +// DOCHOSTUIFLAG.name versions +// + DIALOG = 1, + DISABLE_HELP_MENU = 2, + NO3DBORDER = 4, + SCROLL_NO = 8, + DISABLE_SCRIPT_INACTIVE = 16, + OPENNEWWIN = 32, + DISABLE_OFFSCREEN = 64, + FLAT_SCROLLBAR = 128, + DIV_BLOCKDEFAULT = 256, + ACTIVATE_CLIENTHIT_ONLY = 512, + DISABLE_COOKIE = 1024, +} +/* polute the global namespace */ +enum { + DOCHOSTUITYPE_BROWSE = 0, + DOCHOSTUITYPE_AUTHOR = 1, + + DOCHOSTUIDBLCLK_DEFAULT = 0, + DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1, + DOCHOSTUIDBLCLK_SHOWCODE = 2, + + DOCHOSTUIFLAG_DIALOG = 1, + DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2, + DOCHOSTUIFLAG_NO3DBORDER = 4, + DOCHOSTUIFLAG_SCROLL_NO = 8, + DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 16, + DOCHOSTUIFLAG_OPENNEWWIN = 32, + DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 64, + DOCHOSTUIFLAG_FLAT_SCROLLBAR = 128, + DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 256, + DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 512, + DOCHOSTUIFLAG_DISABLE_COOKIE = 1024, +} + +struct DOCHOSTUIINFO +{ + ULONG cbSize; + DWORD dwFlags; + DWORD dwDoubleClick; +} + +interface IDocHostUIHandler : IUnknown +{ + HRESULT ShowContextMenu( DWORD dwID, POINT* ppt, IUnknown pcmdtReserved, IDispatch pdispReserved); + HRESULT GetHostInfo( DOCHOSTUIINFO * pInfo ); + HRESULT ShowUI( DWORD dwID, IOleInPlaceActiveObject pActiveObject, IOleCommandTarget pCommandTarget, IOleInPlaceFrame pFrame, IOleInPlaceUIWindow pDoc ); + HRESULT HideUI(); + HRESULT UpdateUI(); + HRESULT EnableModeless( BOOL fEnable ); + HRESULT OnDocWindowActivate( BOOL fActivate ); + HRESULT OnFrameWindowActivate( BOOL fActivate ); + HRESULT ResizeBorder(LPRECT prcBorder, IOleInPlaceUIWindow pUIWindow, BOOL fRameWindow ); + HRESULT TranslateAccelerator( LPMSG lpMsg, GUID * pguidCmdGroup, DWORD nCmdID ); + HRESULT GetOptionKeyPath( LPOLESTR * pchKey, DWORD dw ); + HRESULT GetDropTarget( IDropTarget pDropTarget, IDropTarget * ppDropTarget ); + HRESULT GetExternal( IDispatch * ppDispatch ); + HRESULT TranslateUrl( DWORD dwTranslate, OLECHAR * pchURLIn, OLECHAR ** ppchURLOut ); + HRESULT FilterDataObject( IDataObject pDO, IDataObject * ppDORet ); +} + + +//------------------------------------------------------------------------- +// ICustomDoc +// +//------------------------------------------------------------------------- + +interface ICustomDoc : IUnknown +{ + HRESULT SetUIHandler( IDocHostUIHandler pUIHandler ); +} + +//------------------------------------------------------------------------- +// IDocHostShowUI +// +//------------------------------------------------------------------------- + +interface IDocHostShowUI : IUnknown +{ + HRESULT ShowMessage( HWND hwnd, LPOLESTR lpstrText, LPOLESTR lpstrCaption, DWORD dwType, LPOLESTR lpstrHelpFile, DWORD dwHelpContext, LRESULT * plResult); + HRESULT ShowHelp( HWND hwnd, LPOLESTR pszHelpFile, UINT uCommand, DWORD dwData, POINT ptMouse, IDispatch pDispatchObjectHit ); +} + +/* + +//------------------------------------------------------------------------- +// ICSSFilterSite +// +//------------------------------------------------------------------------- +interface ICSSFilterSite : IUnknown +{ + HRESULT GetElement( IHTMLElement * ppElem ); + HRESULT FireOnFilterChangeEvent(); +} + + +//------------------------------------------------------------------------- +// ICSSFilter +// +//------------------------------------------------------------------------- +interface ICSSFilter : IUnknown +{ + HRESULT SetSite( ICSSFilterSite * pSink ); + HRESULT OnAmbientPropertyChange( LONG dispid ); +} + +*/ + +} // extern( Windows )
--- a/dwt/internal/ole/win32/OAIDL.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/ole/win32/OAIDL.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,1158 +1,1158 @@ -module dwt.internal.ole.win32.OAIDL; - -//+--------------------------------------------------------------------------- -// -// Microsoft Windows -// Copyright 1992 - 1998 Microsoft Corporation. -// -// File: oaidl.idl -// -//---------------------------------------------------------------------------- - -//private import std.c.windows.windows; -//private import std.c.windows.com; -private import dwt.internal.ole.win32.OBJIDL; -private import dwt.internal.ole.win32.extras; -private import dwt.internal.win32.WINTYPES; -private import dwt.ole.win32.Variant; - -extern(Windows) { - -struct DECIMAL - { - USHORT wReserved; - BYTE scale; - BYTE sign; - ULONG Hi32; - ulong Lo64; - } ; - -alias wchar * BSTR; -struct FLAGGED_WORD_BLOB - { - ULONG fFlags; - ULONG clSize; - ushort[1] asData; - } - -alias FLAGGED_WORD_BLOB *wireBSTR; - - struct BYTE_SIZEDARR - { - ULONG clSize; - byte *pData; - } ; - - struct WORD_SIZEDARR - { - ULONG clSize; - ushort *pData; - } ; - -struct DWORD_SIZEDARR - { - ULONG clSize; - ULONG * pData; - } ; - -struct HYPER_SIZEDARR - { - ULONG clSize; - long *pData; - } - - -enum -{ VT_EMPTY = 0, - VT_NULL = 1, - VT_I2 = 2, - VT_I4 = 3, - VT_R4 = 4, - VT_R8 = 5, - VT_CY = 6, - VT_DATE = 7, - VT_BSTR = 8, - VT_DISPATCH = 9, - VT_ERROR = 10, - VT_BOOL = 11, - VT_VARIANT = 12, - VT_UNKNOWN = 13, - VT_DECIMAL = 14, - VT_I1 = 16, - VT_UI1 = 17, - VT_UI2 = 18, - VT_UI4 = 19, - VT_I8 = 20, - VT_UI8 = 21, - VT_INT = 22, - VT_UINT = 23, - VT_VOID = 24, - VT_HRESULT = 25, - VT_PTR = 26, - VT_SAFEARRAY = 27, - VT_CARRAY = 28, - VT_USERDEFINED = 29, - VT_LPSTR = 30, - VT_LPWSTR = 31, - VT_RECORD = 36, - VT_FILETIME = 64, - VT_BLOB = 65, - VT_STREAM = 66, - VT_STORAGE = 67, - VT_STREAMED_OBJECT = 68, - VT_STORED_OBJECT = 69, - VT_BLOB_OBJECT = 70, - VT_CF = 71, - VT_CLSID = 72, - VT_BSTR_BLOB = 0xfff, - VT_VECTOR = 0x1000, - VT_ARRAY = 0x2000, - VT_BYREF = 0x4000, - VT_RESERVED = 0x8000, - VT_ILLEGAL = 0xffff, - VT_ILLEGALMASKED = 0xfff, - VT_TYPEMASK = 0xfff -}; - - -/* -cpp_quote("//+-------------------------------------------------------------------------") -cpp_quote("//") -cpp_quote("// Microsoft Windows") -cpp_quote("// Copyright 1992 - 1998 Microsoft Corporation.") -cpp_quote("//") -cpp_quote("//--------------------------------------------------------------------------") - -cpp_quote("#if ( _MSC_VER >= 800 )") -*/ -//cpp_quote("#pragma warning(disable:4201) /* Nameless struct/union */") -/* -cpp_quote("#endif") - -#ifndef DO_NO_IMPORTS -import "objidl.idl"; -#endif - -interface ICreateTypeInfo; -interface ICreateTypeInfo2; -interface ICreateTypeLib; -interface ICreateTypeLib2; -interface IDispatch; -interface IEnumVARIANT; -interface ITypeComp; -interface ITypeInfo; -interface ITypeInfo2; -interface ITypeLib; -interface ITypeLib2; -interface ITypeChangeEvents; -interface IErrorInfo; -interface ICreateErrorInfo; -interface ISupportErrorInfo; -interface ITypeFactory; -interface ITypeMarshal; -interface IRecordInfo; - - -[ - version(1.0), pointer_default(unique) -] - -interface IOleAutomationTypes -{ - -typedef CY CURRENCY; - -// ######################################################################### -// SAFEARRAY -// ######################################################################### -*/ -struct SAFEARRAYBOUND { - ULONG cElements; - LONG lLbound; -} -alias SAFEARRAYBOUND * LPSAFEARRAYBOUND; - -struct _wireVARIANT { -} -struct _wireBRECORD { -} -// Forward references. -alias _wireVARIANT * wireVARIANT; -alias _wireBRECORD * wireBRECORD; - -struct SAFEARR_BSTR { - ULONG Size; - wireBSTR * aBstr; -} -struct SAFEARR_UNKNOWN { - ULONG Size; - IUnknown * apUnknown; -} - -struct SAFEARR_DISPATCH { - ULONG Size; - IDispatch * apDispatch; -} - -struct SAFEARR_VARIANT { - ULONG Size; - wireVARIANT * aVariant; -} - -struct SAFEARR_BRECORD { - ULONG Size; - wireBRECORD * aRecord; -} - -struct SAFEARR_HAVEIID { - ULONG Size; - IUnknown * apUnknown; - IID iid; -} - -enum SF_TYPE { - SF_ERROR = VT_ERROR, - SF_I1 = VT_I1, - SF_I2 = VT_I2, - SF_I4 = VT_I4, - SF_I8 = VT_I8, - SF_BSTR = VT_BSTR, - SF_UNKNOWN = VT_UNKNOWN, - SF_DISPATCH = VT_DISPATCH, - SF_VARIANT = VT_VARIANT, - SF_RECORD = VT_RECORD, - SF_HAVEIID = VT_UNKNOWN|VT_RESERVED, -} - -union uSAFEARRAY_UNION { -SAFEARR_BSTR BstrStr; -SAFEARR_UNKNOWN UnknownStr; -SAFEARR_DISPATCH DispatchStr; -SAFEARR_VARIANT VariantStr; -SAFEARR_BRECORD RecordStr; -SAFEARR_HAVEIID HaveIidStr; -BYTE_SIZEDARR ByteStr; -WORD_SIZEDARR WordStr; -DWORD_SIZEDARR LongStr; -HYPER_SIZEDARR HyperStr; -} - -struct SAFEARRAY_UNION { - ULONG sfType; - uSAFEARRAY_UNION u; -} - -alias SAFEARRAY_UNION SAFEARRAYUNION; - -struct wireSAFEARRAY { - USHORT cDims; - USHORT fFeatures; - ULONG cbElements; - ULONG cLocks; - SAFEARRAYUNION uArrayStructs; - SAFEARRAYBOUND[1] rgsabound; -} -alias wireSAFEARRAY SAFEARRAY ; - -alias wireSAFEARRAY * wirePSAFEARRAY; - - -struct tagSAFEARRAY { - USHORT cDims; - USHORT fFeatures; - ULONG cbElements; - ULONG cLocks; - PVOID pvData; - SAFEARRAYBOUND[1] rgsabound; -} - -alias SAFEARRAY * LPSAFEARRAY; - -const USHORT FADF_AUTO = 0x0001; /* array is allocated on the stack */ -const USHORT FADF_STATIC = 0x0002; /* array is staticly allocated */ -const USHORT FADF_EMBEDDED = 0x0004; /* array is embedded in a structure */ -const USHORT FADF_FIXEDSIZE = 0x0010; /* may not be resized or reallocated */ -const USHORT FADF_RECORD = 0x0020; /* an array of records */ -const USHORT FADF_HAVEIID = 0x0040; /* with FADF_DISPATCH, FADF_UNKNOWN */ - /* array has an IID for interfaces */ -const USHORT FADF_HAVEVARTYPE= 0x0080; /* array has a VT type */ -const USHORT FADF_BSTR = 0x0100; /* an array of BSTRs */ -const USHORT FADF_UNKNOWN = 0x0200; /* an array of IUnknown* */ -const USHORT FADF_DISPATCH = 0x0400; /* an array of IDispatch* */ -const USHORT FADF_VARIANT = 0x0800; /* an array of VARIANTs */ -const USHORT FADF_RESERVED = 0xF008; /* reserved bits */ - - -// ######################################################################### -// VARIANT -// ######################################################################### -/* -cpp_quote("#if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)") -cpp_quote("#define __VARIANT_NAME_1 n1") -cpp_quote("#define __VARIANT_NAME_2 n2") -cpp_quote("#define __VARIANT_NAME_3 n3") -cpp_quote("#define __VARIANT_NAME_4 brecVal") -cpp_quote("#else") -cpp_quote("#define __tagVARIANT") -cpp_quote("#define __VARIANT_NAME_1") -cpp_quote("#define __VARIANT_NAME_2") -cpp_quote("#define __VARIANT_NAME_3") -cpp_quote("#define __tagBRECORD") -cpp_quote("#define __VARIANT_NAME_4") -cpp_quote("#endif") -*/ - -/*struct brecVal_t { - PVOID pvRecord; - IRecordInfo * pRecInfo; -}*/ -struct brecVal_t { - PVOID pvRecord; - IUnknown * pRecInfo; -} - -alias double DOUBLE; -alias double DATE; -alias VARIANT_BOOL _VARIANT_BOOL; -alias long CY; - - -union n3_t { - LONG lVal; /* VT_I4 */ - BYTE bVal; /* VT_UI1 */ - SHORT iVal; /* VT_I2 */ - FLOAT fltVal; /* VT_R4 */ - DOUBLE dblVal; /* VT_R8 */ - VARIANT_BOOL boolVal; /* VT_BOOL */ - _VARIANT_BOOL BOOLval; /* (obsolete) */ - SCODE scode; /* VT_ERROR */ - CY cyVal; /* VT_CY */ - DATE date; /* VT_DATE */ - BSTR bstrVal; /* VT_BSTR */ - IUnknown punkVal; /* VT_UNKNOWN */ - IDispatch pdispVal; /* VT_DISPATCH */ - SAFEARRAY * parray; /* VT_ARRAY */ - BYTE * pbVal; /* VT_BYREF|VT_UI1 */ - SHORT * piVal; /* VT_BYREF|VT_I2 */ - LONG * plVal; /* VT_BYREF|VT_I4 */ - FLOAT * pfltVal; /* VT_BYREF|VT_R4 */ - DOUBLE * pdblVal; /* VT_BYREF|VT_R8 */ - VARIANT_BOOL *pboolVal; /* VT_BYREF|VT_BOOL */ - _VARIANT_BOOL *pbool; /* (obsolete) */ - SCODE * pscode; /* VT_BYREF|VT_ERROR */ - CY * pcyVal; /* VT_BYREF|VT_CY */ - DATE * pdate; /* VT_BYREF|VT_DATE */ - BSTR * pbstrVal; /* VT_BYREF|VT_BSTR */ - IUnknown * ppunkVal; /* VT_BYREF|VT_UNKNOWN */ - IDispatch * ppdispVal; /* VT_BYREF|VT_DISPATCH */ - SAFEARRAY ** pparray; /* VT_BYREF|VT_ARRAY */ - VARIANT * pvarVal; /* VT_BYREF|VT_VARIANT */ - PVOID byref; /* Generic ByRef */ - CHAR cVal; /* VT_I1 */ - USHORT uiVal; /* VT_UI2 */ - ULONG ulVal; /* VT_UI4 */ - INT intVal; /* VT_INT */ - UINT uintVal; /* VT_UINT */ - DECIMAL * pdecVal; /* VT_BYREF|VT_DECIMAL */ - CHAR * pcVal; /* VT_BYREF|VT_I1 */ - USHORT * puiVal; /* VT_BYREF|VT_UI2 */ - ULONG * pulVal; /* VT_BYREF|VT_UI4 */ - INT * pintVal; /* VT_BYREF|VT_INT */ - UINT * puintVal; /* VT_BYREF|VT_UINT */ - brecVal_t brecVal; /* VT_RECORD */ -} - -struct n2_t { - VARTYPE vt; - WORD wReserved1; - WORD wReserved2; - WORD wReserved3; - n3_t n3; -}; -union n1_t { - n2_t n2; - DECIMAL decVal; -}; - -// in tango.sys.win32.Types -/+ -struct VARIANT { - n1_t n1; - - VARTYPE vt() { return n1.n2.vt; }; - void vt(VARTYPE val) { n1.n2.vt = val; } - LONG lVal() { return n1.n2.n3.lVal; } - void lVal(LONG val) { return n1.n2.n3.lVal = val; } - FLOAT fltVal() { return n1.n2.n3.fltVal; } - void fltVal(FLOAT val) { return n1.n2.n3.fltVal = val; } - IDispatch pdispVal() { return n1.n2.n3.pdispVal; } - void pdispVal(IDispatch val) { n1.n2.n3.pdispVal = val; } - IUnknown punkVal() { return n1.n2.n3.punkVal; } - void punkVal(IUnknown val) { n1.n2.n3.punkVal = val; } - VARIANT_BOOL boolVal() { return n1.n2.n3.boolVal; } - void boolVal(VARIANT_BOOL val) { n1.n2.n3.boolVal = val; } - SHORT iVal() { return n1.n2.n3.iVal; } - void iVal(SHORT val) { n1.n2.n3.iVal = val; } - BSTR bstrVal() { return n1.n2.n3.bstrVal; } - void bstrVal(BSTR val) { n1.n2.n3.bstrVal = val; } - -}; -+/ - - -/* -struct VARIANT { - LONG[4] mmmm; -} -*/ -alias VARIANT * LPVARIANT; -alias VARIANT VARIANTARG; -alias VARIANT * LPVARIANTARG; - -/+ -struct _wireBRECORD { - ULONG fFlags; - ULONG clSize; - IRecordInfo pRecInfo; - byte * pRecord; -}; -++++++++++++++++++++/ - - -/+ -struct _wireVARIANT { - DWORD clSize; - DWORD rpcReserved; - USHORT vt; - USHORT wReserved1; - USHORT wReserved2; - USHORT wReserved3; - [switch_type(ULONG), switch_is(vt)] union { - [case(VT_I4)] LONG lVal; /* VT_I4 */ - [case(VT_UI1)] BYTE bVal; /* VT_UI1 */ - [case(VT_I2)] SHORT iVal; /* VT_I2 */ - [case(VT_R4)] FLOAT fltVal; /* VT_R4 */ - [case(VT_R8)] DOUBLE dblVal; /* VT_R8 */ - [case(VT_BOOL)] VARIANT_BOOL boolVal; /* VT_BOOL */ - [case(VT_ERROR)] SCODE scode; /* VT_ERROR */ - [case(VT_CY)] CY cyVal; /* VT_CY */ - [case(VT_DATE)] DATE date; /* VT_DATE */ - [case(VT_BSTR)] wireBSTR bstrVal; /* VT_BSTR */ - [case(VT_UNKNOWN)] IUnknown * punkVal; /* VT_UNKNOWN */ - [case(VT_DISPATCH)] IDispatch * pdispVal; /* VT_DISPATCH */ - [case(VT_ARRAY)] wireSAFEARRAY parray; /* VT_ARRAY */ - - [case(VT_RECORD, VT_RECORD|VT_BYREF)] - wireBRECORD brecVal; /* VT_RECORD */ - - [case(VT_UI1|VT_BYREF)] - BYTE * pbVal; /* VT_BYREF|VT_UI1 */ - [case(VT_I2|VT_BYREF)] - SHORT * piVal; /* VT_BYREF|VT_I2 */ - [case(VT_I4|VT_BYREF)] - LONG * plVal; /* VT_BYREF|VT_I4 */ - [case(VT_R4|VT_BYREF)] - FLOAT * pfltVal; /* VT_BYREF|VT_R4 */ - [case(VT_R8|VT_BYREF)] - DOUBLE * pdblVal; /* VT_BYREF|VT_R8 */ - [case(VT_BOOL|VT_BYREF)] - VARIANT_BOOL *pboolVal; /* VT_BYREF|VT_BOOL */ - [case(VT_ERROR|VT_BYREF)] - SCODE * pscode; /* VT_BYREF|VT_ERROR */ - [case(VT_CY|VT_BYREF)] - CY * pcyVal; /* VT_BYREF|VT_CY */ - [case(VT_DATE|VT_BYREF)] - DATE * pdate; /* VT_BYREF|VT_DATE */ - [case(VT_BSTR|VT_BYREF)] - wireBSTR * pbstrVal; /* VT_BYREF|VT_BSTR */ - [case(VT_UNKNOWN|VT_BYREF)] - IUnknown ** ppunkVal; /* VT_BYREF|VT_UNKNOWN */ - [case(VT_DISPATCH|VT_BYREF)] - IDispatch ** ppdispVal; /* VT_BYREF|VT_DISPATCH */ - [case(VT_ARRAY|VT_BYREF)] - wireSAFEARRAY *pparray; /* VT_BYREF|VT_ARRAY */ - [case(VT_VARIANT|VT_BYREF)] - wireVARIANT * pvarVal; /* VT_BYREF|VT_VARIANT */ - - [case(VT_I1)] CHAR cVal; /* VT_I1 */ - [case(VT_UI2)] USHORT uiVal; /* VT_UI2 */ - [case(VT_UI4)] ULONG ulVal; /* VT_UI4 */ - [case(VT_INT)] INT intVal; /* VT_INT */ - [case(VT_UINT)] UINT uintVal; /* VT_UINT */ - [case(VT_DECIMAL)] DECIMAL decVal; /* VT_DECIMAL */ - - [case(VT_BYREF|VT_DECIMAL)] - DECIMAL * pdecVal; /* VT_BYREF|VT_DECIMAL */ - [case(VT_BYREF|VT_I1)] - CHAR * pcVal; /* VT_BYREF|VT_I1 */ - [case(VT_BYREF|VT_UI2)] - USHORT * puiVal; /* VT_BYREF|VT_UI2 */ - [case(VT_BYREF|VT_UI4)] - ULONG * pulVal; /* VT_BYREF|VT_UI4 */ - [case(VT_BYREF|VT_INT)] - INT * pintVal; /* VT_BYREF|VT_INT */ - [case(VT_BYREF|VT_UINT)] - UINT * puintVal; /* VT_BYREF|VT_UINT */ - [case(VT_EMPTY)] ; /* nothing */ - [case(VT_NULL)] ; /* nothing */ - }; -}; -+/ - -//######################################################################## -// End of VARIANT & SAFEARRAY -//######################################################################## - - -//TypeInfo stuff. - -alias LONG DISPID; -alias DISPID MEMBERID; -alias DWORD HREFTYPE; - -enum TYPEKIND { - TKIND_ENUM = 0, - TKIND_RECORD, - TKIND_MODULE, - TKIND_INTERFACE, - TKIND_DISPATCH, - TKIND_COCLASS, - TKIND_ALIAS, - TKIND_UNION, - TKIND_MAX /* end of enum marker */ -} -union TD_00{ - TYPEDESC * lptdesc; - ARRAYDESC * lpadesc; - HREFTYPE hreftype; -}; - -struct TYPEDESC { - TD_00 u; - VARTYPE vt; -} - -struct ARRAYDESC { - TYPEDESC tdescElem; /* element type */ - USHORT cDims; /* dimension count */ - SAFEARRAYBOUND[1] rgbounds; /* var len array of bounds */ -} - -// parameter description -struct PARAMDESCEX { - ULONG cBytes; /* size of this structure */ - VARIANTARG varDefaultValue; /* default value of this parameter */ -} -alias PARAMDESCEX * LPPARAMDESCEX; - -struct PARAMDESC { - LPPARAMDESCEX pparamdescex; /* valid if PARAMFLAG_FHASDEFAULT bit is set */ - USHORT wParamFlags; /* IN, OUT, etc */ -} -alias PARAMDESC * LPPARAMDESC; - -const USHORT PARAMFLAG_NONE = 0x00; -const USHORT PARAMFLAG_FIN = 0x01; -const USHORT PARAMFLAG_FOUT = 0x02; -const USHORT PARAMFLAG_FLCID = 0x04; -const USHORT PARAMFLAG_FRETVAL = 0x08; -const USHORT PARAMFLAG_FOPT = 0x10; -const USHORT PARAMFLAG_FHASDEFAULT = 0x20; -const USHORT PARAMFLAG_FHASCUSTDATA = 0x40; - -struct IDLDESC { - ULONG dwReserved; - USHORT wIDLFlags; /* IN, OUT, etc */ -} -alias IDLDESC * LPIDLDESC; - -const USHORT IDLFLAG_NONE = PARAMFLAG_NONE; -const USHORT IDLFLAG_FIN = PARAMFLAG_FIN; -const USHORT IDLFLAG_FOUT = PARAMFLAG_FOUT; -const USHORT IDLFLAG_FLCID = PARAMFLAG_FLCID; -const USHORT IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL; - - -struct ELEMDESC { /* a format that MIDL likes */ - TYPEDESC tdesc; /* the type of the element */ - PARAMDESC paramdesc; /* IDLDESC is a subset of PARAMDESC */ -} - -struct TYPEATTR { - GUID guid; /* the GUID of the TypeInfo */ - LCID lcid; /* locale of member names and doc strings */ - DWORD dwReserved; - MEMBERID memidConstructor; /* ID of constructor, MEMBERID_NIL if none */ - MEMBERID memidDestructor; /* ID of destructor, MEMBERID_NIL if none */ - LPOLESTR lpstrSchema; - ULONG cbSizeInstance; /* the size of an instance of this type */ - TYPEKIND typekind; /* the kind of type this typeinfo describes */ - WORD cFuncs; /* number of functions */ - WORD cVars; /* number of variables / data members */ - WORD cImplTypes; /* number of implemented interfaces */ - WORD cbSizeVft; /* the size of this types virtual func table */ - WORD cbAlignment; /* specifies the alignment requirements for - an instance of this type, - 0 = align on 64k boundary - 1 = byte align - 2 = word align - 4 = dword align... */ - WORD wTypeFlags; - WORD wMajorVerNum; /* major version number */ - WORD wMinorVerNum; /* minor version number */ - TYPEDESC tdescAlias; /* if typekind == TKIND_ALIAS this field - specifies the type for which this type - is an alias */ - IDLDESC idldescType; /* IDL attributes of the described type */ -} -alias TYPEATTR * LPTYPEATTR; - - -struct DISPPARAMS { - VARIANTARG * rgvarg; - DISPID * rgdispidNamedArgs; - UINT cArgs; - UINT cNamedArgs; -} - -struct EXCEPINFO { - WORD wCode; /* An error code describing the error. */ - WORD wReserved; - BSTR bstrSource; /* A source of the exception */ - BSTR bstrDescription; /* A description of the error */ - BSTR bstrHelpFile; /* Fully qualified drive, path, and file name */ - DWORD dwHelpContext; /* help context of topic within the help file */ - ULONG pvReserved; - ULONG pfnDeferredFillIn; - SCODE scode; -} -/+ - -cpp_quote("#else /* 0 */") -cpp_quote("typedef struct tagEXCEPINFO {") -cpp_quote(" WORD wCode;") -cpp_quote(" WORD wReserved;") -cpp_quote(" BSTR bstrSource;") -cpp_quote(" BSTR bstrDescription;") -cpp_quote(" BSTR bstrHelpFile;") -cpp_quote(" DWORD dwHelpContext;") -cpp_quote(" PVOID pvReserved;") -cpp_quote(" HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);") -cpp_quote(" SCODE scode;") -cpp_quote("} EXCEPINFO, * LPEXCEPINFO;") -cpp_quote("#endif /* 0 */") -+/ - -enum CALLCONV { - CC_FASTCALL = 0, - CC_CDECL = 1, - CC_MSCPASCAL, - CC_PASCAL = CC_MSCPASCAL, - CC_MACPASCAL, - CC_STDCALL, - CC_FPFASTCALL, - CC_SYSCALL, - CC_MPWCDECL, - CC_MPWPASCAL, - CC_MAX /* end of enum marker */ -} -enum FUNCKIND { - FUNC_VIRTUAL, - FUNC_PUREVIRTUAL, - FUNC_NONVIRTUAL, - FUNC_STATIC, - FUNC_DISPATCH -} - -enum INVOKEKIND { - INVOKE_FUNC = 1, - INVOKE_PROPERTYGET = 2, - INVOKE_PROPERTYPUT = 4, - INVOKE_PROPERTYPUTREF = 8 -} - -struct FUNCDESC { - MEMBERID memid; - SCODE * lprgscode; - ELEMDESC * lprgelemdescParam; /* array of param types */ - FUNCKIND funckind; - INVOKEKIND invkind; - CALLCONV callconv; - SHORT cParams; - SHORT cParamsOpt; - SHORT oVft; - SHORT cScodes; - ELEMDESC elemdescFunc; - WORD wFuncFlags; -} -alias FUNCDESC * LPFUNCDESC; - -enum VARKIND { - VAR_PERINSTANCE, - VAR_STATIC, - VAR_CONST, - VAR_DISPATCH -} -/* IMPLTYPE Flags */ -const USHORT IMPLTYPEFLAG_FDEFAULT = 0x1; -const USHORT IMPLTYPEFLAG_FSOURCE = 0x2; -const USHORT IMPLTYPEFLAG_FRESTRICTED = 0x4; -const USHORT IMPLTYPEFLAG_FDEFAULTVTABLE= 0x8; - -union VD_u { - /* offset of variable within the instance */ - ULONG oInst; - VARIANT * lpvarValue; /* the value of the constant */ -} -struct VARDESC { - MEMBERID memid; - LPOLESTR lpstrSchema; - VD_u u; - ELEMDESC elemdescVar; - WORD wVarFlags; - VARKIND varkind; -} -alias VARDESC * LPVARDESC; - -enum TYPEFLAGS { - TYPEFLAG_FAPPOBJECT = 0x01, - TYPEFLAG_FCANCREATE = 0x02, - TYPEFLAG_FLICENSED = 0x04, - TYPEFLAG_FPREDECLID = 0x08, - TYPEFLAG_FHIDDEN = 0x10, - TYPEFLAG_FCONTROL = 0x20, - TYPEFLAG_FDUAL = 0x40, - TYPEFLAG_FNONEXTENSIBLE = 0x80, - TYPEFLAG_FOLEAUTOMATION = 0x100, - TYPEFLAG_FRESTRICTED = 0x200, - TYPEFLAG_FAGGREGATABLE = 0x400, - TYPEFLAG_FREPLACEABLE = 0x800, - TYPEFLAG_FDISPATCHABLE = 0x1000, - TYPEFLAG_FREVERSEBIND = 0x2000 -} - -enum FUNCFLAGS { - FUNCFLAG_FRESTRICTED = 0x1, - FUNCFLAG_FSOURCE = 0x2, - FUNCFLAG_FBINDABLE = 0x4, - FUNCFLAG_FREQUESTEDIT = 0x8, - FUNCFLAG_FDISPLAYBIND = 0x10, - FUNCFLAG_FDEFAULTBIND = 0x20, - FUNCFLAG_FHIDDEN = 0x40, - FUNCFLAG_FUSESGETLASTERROR = 0x80, - FUNCFLAG_FDEFAULTCOLLELEM = 0x100, - FUNCFLAG_FUIDEFAULT = 0x200, - FUNCFLAG_FNONBROWSABLE = 0x400, - FUNCFLAG_FREPLACEABLE = 0x800, - FUNCFLAG_FIMMEDIATEBIND = 0x1000 -} - -enum VARFLAGS { - VARFLAG_FREADONLY = 0x1, - VARFLAG_FSOURCE = 0x2, - VARFLAG_FBINDABLE = 0x4, - VARFLAG_FREQUESTEDIT = 0x8, - VARFLAG_FDISPLAYBIND = 0x10, - VARFLAG_FDEFAULTBIND = 0x20, - VARFLAG_FHIDDEN = 0x40, - VARFLAG_FRESTRICTED = 0x80, - VARFLAG_FDEFAULTCOLLELEM = 0x100, - VARFLAG_FUIDEFAULT = 0x200, - VARFLAG_FNONBROWSABLE = 0x400, - VARFLAG_FREPLACEABLE = 0x800, - VARFLAG_FIMMEDIATEBIND = 0x1000 -} - -struct CLEANLOCALSTORAGE { - IUnknown pInterface; /* interface that is responsible for storage */ - PVOID pStorage; /* the storage being managed by interface */ - DWORD flags; /* which interface, what storage */ -} - -struct CUSTDATAITEM { - GUID guid; /* guid identifying this custom data item */ - VARIANTARG varValue; /* value of this custom data item */ -} -alias CUSTDATAITEM * LPCUSTDATAITEM; - -struct CUSTDATA { - DWORD cCustData; /* number of custom data items in rgCustData */ - LPCUSTDATAITEM prgCustData; - /* array of custom data items */ -} -alias CUSTDATA * LPCUSTDATA; - - -interface ICreateTypeInfo: IUnknown -{ - HRESULT SetGuid( REFGUID guid ); - HRESULT SetTypeFlags( UINT uTypeFlags ); - HRESULT SetDocString( LPOLESTR pStrDoc ); - HRESULT SetHelpContext( DWORD dwHelpContext); - HRESULT SetVersion( WORD wMajorVerNum, WORD wMinorVerNum ); - HRESULT AddRefTypeInfo( ITypeInfo pTInfo, HREFTYPE * phRefType ); - HRESULT AddFuncDesc( UINT index, FUNCDESC * pFuncDesc ); - HRESULT AddImplType( UINT index, HREFTYPE hRefType ); - HRESULT SetImplTypeFlags( UINT index, INT implTypeFlags ); - HRESULT SetAlignment( WORD cbAlignment ); - HRESULT SetSchema( LPOLESTR pStrSchema ); - HRESULT AddVarDesc( UINT index, VARDESC * pVarDesc ); - HRESULT SetFuncAndParamNames( UINT index, LPOLESTR * rgszNames, UINT cNames ); - HRESULT SetVarName( UINT index, LPOLESTR szName ); - HRESULT SetTypeDescAlias( TYPEDESC * pTDescAlias ); - HRESULT DefineFuncAsDllEntry( UINT index,LPOLESTR szDllName,LPOLESTR szProcName ); - HRESULT SetFuncDocString( UINT index, LPOLESTR szDocString ); - HRESULT SetVarDocString(UINT index,LPOLESTR szDocString ); - HRESULT SetFuncHelpContext(UINT index,DWORD dwHelpContext ); - HRESULT SetVarHelpContext(UINT index,DWORD dwHelpContext ); - HRESULT SetMops(UINT index,BSTR bstrMops ); - HRESULT SetTypeIdldesc(IDLDESC * pIdlDesc ); - HRESULT LayOut(); -} -alias ICreateTypeInfo LPCREATETYPEINFO; - -interface ICreateTypeInfo2: ICreateTypeInfo -{ - HRESULT DeleteFuncDesc(UINT index); - HRESULT DeleteFuncDescByMemId(MEMBERID memid,INVOKEKIND invKind); - HRESULT DeleteVarDesc(UINT index); - HRESULT DeleteVarDescByMemId(MEMBERID memid); - HRESULT DeleteImplType(UINT index); - HRESULT SetCustData(REFGUID guid,VARIANT * pVarVal); - HRESULT SetFuncCustData(UINT index,REFGUID guid,VARIANT * pVarVal); - HRESULT SetParamCustData(UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT * pVarVal); - HRESULT SetVarCustData(UINT index,REFGUID guid,VARIANT * pVarVal); - HRESULT SetImplTypeCustData(UINT index,REFGUID guid,VARIANT * pVarVal); - HRESULT SetHelpStringContext(ULONG dwHelpStringContext); - HRESULT SetFuncHelpStringContext(UINT index,ULONG dwHelpStringContext); - HRESULT SetVarHelpStringContext(UINT index,ULONG dwHelpStringContext); - HRESULT Invalidate(); - HRESULT SetName(LPOLESTR szName); -} -alias ICreateTypeInfo2 LPCREATETYPEINFO2; - -interface ICreateTypeLib : IUnknown -{ - HRESULT CreateTypeInfo(LPOLESTR szName,TYPEKIND tkind,ICreateTypeInfo * ppCTInfo); - HRESULT SetName(LPOLESTR szName); - HRESULT SetVersion(WORD wMajorVerNum,WORD wMinorVerNum); - HRESULT SetGuid(REFGUID guid); - HRESULT SetDocString( LPOLESTR szDoc); - HRESULT SetHelpFileName(LPOLESTR szHelpFileName); - HRESULT SetHelpContext(DWORD dwHelpContext); - HRESULT SetLcid(LCID lcid); - HRESULT SetLibFlags(UINT uLibFlags); - HRESULT SaveAllChanges(); -} -alias ICreateTypeLib LPCREATETYPELIB; - -interface ICreateTypeLib2 : ICreateTypeLib -{ - HRESULT DeleteTypeInfo(LPOLESTR szName); - HRESULT SetCustData(REFGUID guid,VARIANT * pVarVal); - HRESULT SetHelpStringContext(ULONG dwHelpStringContext); - HRESULT SetHelpStringDll(LPOLESTR szFileName); -} - -interface IDispatch : IUnknown -{ -HRESULT GetTypeInfoCount(UINT * pctinfo); -HRESULT GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo * ppTInfo); -HRESULT GetIDsOfNames(REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId); -HRESULT Invoke(DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS* pDispParams,VARIANT* pVarResult,EXCEPINFO* pExcepInfo,UINT* puArgErr); -} -alias IDispatch LPDISPATCH; -const DISPID DISPID_UNKNOWN = cast(DISPID)-1; -const DISPID DISPID_VALUE = cast(DISPID)0; -const DISPID DISPID_PROPERTYPUT = cast(DISPID)-3; -const DISPID DISPID_NEWENUM = cast(DISPID)-4; -const DISPID DISPID_EVALUATE = cast(DISPID)-5; -const DISPID DISPID_CONSTRUCTOR = cast(DISPID)-6; -const DISPID DISPID_DESTRUCTOR = cast(DISPID)-7; -const DISPID DISPID_COLLECT = cast(DISPID)-8; - -/+++++++++++++++++++++++++++++++++++++++ - -[ - object, - uuid(00020404-0000-0000-C000-000000000046), - pointer_default(unique) -] - -interface IEnumVARIANT : IUnknown -{ - typedef [unique] IEnumVARIANT* LPENUMVARIANT; - - [local] - HRESULT Next( - [in] ULONG celt, - [out, size_is(celt), length_is(*pCeltFetched)] VARIANT * rgVar, - [out] ULONG * pCeltFetched - ); - - [call_as(Next)] - HRESULT RemoteNext( - [in] ULONG celt, - [out, size_is(celt), length_is(*pCeltFetched)] VARIANT * rgVar, - [out] ULONG * pCeltFetched - ); - - HRESULT Skip( - [in] ULONG celt - ); - - HRESULT Reset( - ); - - HRESULT Clone( - [out] IEnumVARIANT ** ppEnum - ); -} - - -+/ -enum DESCKIND { - DESCKIND_NONE = 0, - DESCKIND_FUNCDESC, - DESCKIND_VARDESC, - DESCKIND_TYPECOMP, - DESCKIND_IMPLICITAPPOBJ, - DESCKIND_MAX -} - - -union BINDPTR { - FUNCDESC * lpfuncdesc; - VARDESC * lpvardesc; - ITypeComp lptcomp; -} -alias BINDPTR * LPBINDPTR; - -interface ITypeComp : IUnknown -{ - - HRESULT Bind(LPOLESTR szName,ULONG lHashVal,WORD wFlags, -ITypeInfo * ppTInfo,DESCKIND * pDescKind,BINDPTR * pBindPtr - ); - - - HRESULT BindType( LPOLESTR szName,ULONG lHashVal, - ITypeInfo * ppTInfo, - ITypeComp * ppTComp - ); - -} - -interface ITypeInfo : IUnknown -{ - HRESULT GetTypeAttr(TYPEATTR ** ppTypeAttr); - HRESULT GetTypeComp( ITypeComp * ppTComp ); - HRESULT GetFuncDesc( UINT index, FUNCDESC ** ppFuncDesc ); - HRESULT GetVarDesc( UINT index,VARDESC ** ppVarDesc); - HRESULT GetNames(MEMBERID memid,BSTR * rgBstrNames,UINT cMaxNames,UINT * pcNames); - HRESULT GetRefTypeOfImplType(UINT index,HREFTYPE * pRefType); - HRESULT GetImplTypeFlags(UINT index,INT * pImplTypeFlags); - HRESULT GetIDsOfNames(LPOLESTR * rgszNames,UINT cNames,MEMBERID * pMemId); - HRESULT Invoke(PVOID pvInstance,MEMBERID memid,WORD wFlags,DISPPARAMS * pDispParams,VARIANT * pVarResult,EXCEPINFO * pExcepInfo,UINT * puArgErr); - HRESULT GetDocumentation(MEMBERID memid,BSTR * pBstrName,BSTR * pBstrDocString,DWORD * pdwHelpContext,BSTR * pBstrHelpFile); - HRESULT GetDllEntry(MEMBERID memid,INVOKEKIND invKind,BSTR * pBstrDllName,BSTR * pBstrName,WORD * pwOrdinal); - HRESULT GetRefTypeInfo(HREFTYPE hRefType,ITypeInfo * ppTInfo); - HRESULT AddressOfMember(MEMBERID memid,INVOKEKIND invKind,PVOID * ppv); - HRESULT CreateInstance(IUnknown pUnkOuter,REFIID riid,PVOID * ppvObj); - HRESULT GetMops(MEMBERID memid,BSTR * pBstrMops); - HRESULT GetContainingTypeLib( ITypeLib ** ppTLib,UINT * pIndex); - void ReleaseTypeAttr(TYPEATTR * pTypeAttr ); - void ReleaseFuncDesc( FUNCDESC * pFuncDesc ); - void ReleaseVarDesc(VARDESC * pVarDesc ); -} -alias ITypeInfo LPTYPEINFO; - -interface ITypeInfo2 : ITypeInfo -{ - HRESULT GetTypeKind(TYPEKIND * pTypeKind); - HRESULT GetTypeFlags(ULONG * pTypeFlags); - HRESULT GetFuncIndexOfMemId(MEMBERID memid,INVOKEKIND invKind,UINT * pFuncIndex); - HRESULT GetVarIndexOfMemId(MEMBERID memid,UINT * pVarIndex); - HRESULT GetCustData(REFGUID guid,VARIANT * pVarVal); - HRESULT GetFuncCustData(UINT index,REFGUID guid,VARIANT * pVarVal); - HRESULT GetParamCustData(UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT * pVarVal); - HRESULT GetVarCustData(UINT index,REFGUID guid,VARIANT * pVarVal); - HRESULT GetImplTypeCustData(UINT index,REFGUID guid,VARIANT * pVarVal); - HRESULT GetDocumentation2(MEMBERID memid,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll); - HRESULT GetAllCustData(CUSTDATA * pCustData); - HRESULT GetAllFuncCustData(UINT index,CUSTDATA * pCustData); - HRESULT GetAllParamCustData(UINT indexFunc,UINT indexParam,CUSTDATA * pCustData); - HRESULT GetAllVarCustData(UINT index,CUSTDATA * pCustData); - HRESULT GetAllImplTypeCustData(UINT index,CUSTDATA * pCustData); -} - -alias ITypeInfo2 LPTYPEINFO2; - -enum SYSKIND { - SYS_WIN16 = 0, - SYS_WIN32, - SYS_MAC -} - -enum LIBFLAGS { - LIBFLAG_FRESTRICTED = 0x01, - LIBFLAG_FCONTROL = 0x02, - LIBFLAG_FHIDDEN = 0x04, - LIBFLAG_FHASDISKIMAGE = 0x08 -} - -struct TLIBATTR { - GUID guid; - LCID lcid; - SYSKIND syskind; - WORD wMajorVerNum; - WORD wMinorVerNum; - WORD wLibFlags; -} -alias TLIBATTR * LPTLIBATTR; - -interface ITypeLib : IUnknown -{ - UINT GetTypeInfoCount( - ); - - HRESULT GetTypeInfo( - UINT index, -ITypeInfo * ppTInfo - ); - -HRESULT GetTypeInfoType( - UINT index, - TYPEKIND * pTKind - ); - - HRESULT GetTypeInfoOfGuid( - REFGUID guid, - ITypeInfo * ppTinfo - ); - - HRESULT GetLibAttr( - TLIBATTR ** ppTLibAttr -); - - HRESULT GetTypeComp(ITypeComp * ppTComp ); - - HRESULT GetDocumentation(INT index,BSTR * pBstrName,BSTR * pBstrDocString,DWORD * pdwHelpContext,BSTR * pBstrHelpFile - ); - - HRESULT IsName(LPOLESTR szNameBuf,ULONG lHashVal,BOOL * pfName - ); - - HRESULT FindName( - LPOLESTR szNameBuf, - ULONG lHashVal, - ITypeInfo * ppTInfo, - MEMBERID * rgMemId, - USHORT * pcFound - ); - - void ReleaseTLibAttr( TLIBATTR * pTLibAttr ); -} - -alias ITypeLib LPTYPELIB; - -interface ITypeLib2 : ITypeLib -{ - HRESULT GetCustData(REFGUID guid,VARIANT * pVarVal); - HRESULT GetLibStatistics(ULONG * pcUniqueNames,ULONG * pcchUniqueNames); - HRESULT GetDocumentation2(INT index,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll); - HRESULT GetAllCustData(CUSTDATA * pCustData); -} -alias ITypeLib2 LPTYPELIB2; - -enum CHANGEKIND { - CHANGEKIND_ADDMEMBER, - CHANGEKIND_DELETEMEMBER, - CHANGEKIND_SETNAMES, - CHANGEKIND_SETDOCUMENTATION, - CHANGEKIND_GENERAL, - CHANGEKIND_INVALIDATE, - CHANGEKIND_CHANGEFAILED, - CHANGEKIND_MAX, - ADDMEMBER = CHANGEKIND_ADDMEMBER, - DELETEMEMBER = CHANGEKIND_DELETEMEMBER, - SETNAMES = CHANGEKIND_SETNAMES, - SETDOCUMENTATION = CHANGEKIND_SETDOCUMENTATION, - GENERAL = CHANGEKIND_GENERAL, - INVALIDATE = CHANGEKIND_INVALIDATE, - CHANGEFAILED = CHANGEKIND_CHANGEFAILED, - MAX = CHANGEKIND_MAX -} - -interface ITypeChangeEvents: IUnknown -{ - // notification messages used by the dynamic typeinfo protocol. - HRESULT RequestTypeChange(CHANGEKIND changeKind,ITypeInfo pTInfoBefore,LPOLESTR pStrName,INT * pfCancel); - HRESULT AfterTypeChange(CHANGEKIND changeKind,ITypeInfo pTInfoAfter,LPOLESTR pStrName); -} -alias ITypeChangeEvents LPTYPECHANGEEVENTS; - -interface IErrorInfo: IUnknown -{ - HRESULT GetGUID( GUID * pGUID ); - HRESULT GetSource(BSTR * pBstrSource); - HRESULT GetDescription(BSTR * pBstrDescription); - HRESULT GetHelpFile(BSTR * pBstrHelpFile); - HRESULT GetHelpContext(DWORD * pdwHelpContext); -} -alias IErrorInfo LPERRORINFO; - -interface ICreateErrorInfo: IUnknown -{ - HRESULT SetGUID(REFGUID rguid); - HRESULT SetSource(LPOLESTR szSource); - HRESULT SetDescription(LPOLESTR szDescription); - HRESULT SetHelpFile(LPOLESTR szHelpFile); - HRESULT SetHelpContext(DWORD dwHelpContext); -} -alias ICreateErrorInfo LPCREATEERRORINFO; - -interface ISupportErrorInfo: IUnknown -{ - HRESULT InterfaceSupportsErrorInfo(REFIID riid); -} -alias ISupportErrorInfo LPSUPPORTERRORINFO; - -interface ITypeFactory : IUnknown -{ - HRESULT CreateFromTypeInfo(ITypeInfo pTypeInfo,REFIID riid, IUnknown *ppv); -} - -interface ITypeMarshal : IUnknown -{ - HRESULT Size(PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG * pSize); - HRESULT Marshal(PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG cbBufferLength,BYTE * pBuffer,ULONG * pcbWritten); - HRESULT Unmarshal(PVOID pvType,DWORD dwFlags,ULONG cbBufferLength,BYTE * pBuffer,ULONG * pcbRead); - HRESULT Free(PVOID pvType); -} - - -interface IRecordInfo: IUnknown -{ - HRESULT RecordInit(PVOID pvNew); - HRESULT RecordClear(PVOID pvExisting); - HRESULT RecordCopy(PVOID pvExisting,PVOID pvNew); - HRESULT GetGuid(GUID * pguid); - HRESULT GetName(BSTR * pbstrName); - HRESULT GetSize(ULONG * pcbSize); - HRESULT GetTypeInfo(ITypeInfo * ppTypeInfo); - HRESULT GetField(PVOID pvData,LPCOLESTR szFieldName,VARIANT * pvarField); - HRESULT GetFieldNoCopy(PVOID pvData,LPCOLESTR szFieldName,VARIANT * pvarField,PVOID * ppvDataCArray); - HRESULT PutField(ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT * pvarField); - HRESULT PutFieldNoCopy(ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT * pvarField); - HRESULT GetFieldNames(ULONG * pcNames,BSTR * rgBstrNames); - BOOL IsMatchingType(IRecordInfo pRecordInfo); - PVOID RecordCreate(); - HRESULT RecordCreateCopy(PVOID pvSource,PVOID * ppvDest); - HRESULT RecordDestroy(PVOID pvRecord); -} -alias IRecordInfo LPRECORDINFO; - -} // extern(WIndows); - - +module dwt.internal.ole.win32.OAIDL; + +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright 1992 - 1998 Microsoft Corporation. +// +// File: oaidl.idl +// +//---------------------------------------------------------------------------- + +//private import std.c.windows.windows; +//private import std.c.windows.com; +private import dwt.internal.ole.win32.OBJIDL; +private import dwt.internal.ole.win32.extras; +private import dwt.internal.win32.WINTYPES; +private import dwt.ole.win32.Variant; + +extern(Windows) { + +struct DECIMAL + { + USHORT wReserved; + BYTE scale; + BYTE sign; + ULONG Hi32; + ulong Lo64; + } ; + +alias wchar * BSTR; +struct FLAGGED_WORD_BLOB + { + ULONG fFlags; + ULONG clSize; + ushort[1] asData; + } + +alias FLAGGED_WORD_BLOB *wireBSTR; + + struct BYTE_SIZEDARR + { + ULONG clSize; + byte *pData; + } ; + + struct WORD_SIZEDARR + { + ULONG clSize; + ushort *pData; + } ; + +struct DWORD_SIZEDARR + { + ULONG clSize; + ULONG * pData; + } ; + +struct HYPER_SIZEDARR + { + ULONG clSize; + long *pData; + } + + +enum +{ VT_EMPTY = 0, + VT_NULL = 1, + VT_I2 = 2, + VT_I4 = 3, + VT_R4 = 4, + VT_R8 = 5, + VT_CY = 6, + VT_DATE = 7, + VT_BSTR = 8, + VT_DISPATCH = 9, + VT_ERROR = 10, + VT_BOOL = 11, + VT_VARIANT = 12, + VT_UNKNOWN = 13, + VT_DECIMAL = 14, + VT_I1 = 16, + VT_UI1 = 17, + VT_UI2 = 18, + VT_UI4 = 19, + VT_I8 = 20, + VT_UI8 = 21, + VT_INT = 22, + VT_UINT = 23, + VT_VOID = 24, + VT_HRESULT = 25, + VT_PTR = 26, + VT_SAFEARRAY = 27, + VT_CARRAY = 28, + VT_USERDEFINED = 29, + VT_LPSTR = 30, + VT_LPWSTR = 31, + VT_RECORD = 36, + VT_FILETIME = 64, + VT_BLOB = 65, + VT_STREAM = 66, + VT_STORAGE = 67, + VT_STREAMED_OBJECT = 68, + VT_STORED_OBJECT = 69, + VT_BLOB_OBJECT = 70, + VT_CF = 71, + VT_CLSID = 72, + VT_BSTR_BLOB = 0xfff, + VT_VECTOR = 0x1000, + VT_ARRAY = 0x2000, + VT_BYREF = 0x4000, + VT_RESERVED = 0x8000, + VT_ILLEGAL = 0xffff, + VT_ILLEGALMASKED = 0xfff, + VT_TYPEMASK = 0xfff +}; + + +/* +cpp_quote("//+-------------------------------------------------------------------------") +cpp_quote("//") +cpp_quote("// Microsoft Windows") +cpp_quote("// Copyright 1992 - 1998 Microsoft Corporation.") +cpp_quote("//") +cpp_quote("//--------------------------------------------------------------------------") + +cpp_quote("#if ( _MSC_VER >= 800 )") +*/ +//cpp_quote("#pragma warning(disable:4201) /* Nameless struct/union */") +/* +cpp_quote("#endif") + +#ifndef DO_NO_IMPORTS +import "objidl.idl"; +#endif + +interface ICreateTypeInfo; +interface ICreateTypeInfo2; +interface ICreateTypeLib; +interface ICreateTypeLib2; +interface IDispatch; +interface IEnumVARIANT; +interface ITypeComp; +interface ITypeInfo; +interface ITypeInfo2; +interface ITypeLib; +interface ITypeLib2; +interface ITypeChangeEvents; +interface IErrorInfo; +interface ICreateErrorInfo; +interface ISupportErrorInfo; +interface ITypeFactory; +interface ITypeMarshal; +interface IRecordInfo; + + +[ + version(1.0), pointer_default(unique) +] + +interface IOleAutomationTypes +{ + +typedef CY CURRENCY; + +// ######################################################################### +// SAFEARRAY +// ######################################################################### +*/ +struct SAFEARRAYBOUND { + ULONG cElements; + LONG lLbound; +} +alias SAFEARRAYBOUND * LPSAFEARRAYBOUND; + +struct _wireVARIANT { +} +struct _wireBRECORD { +} +// Forward references. +alias _wireVARIANT * wireVARIANT; +alias _wireBRECORD * wireBRECORD; + +struct SAFEARR_BSTR { + ULONG Size; + wireBSTR * aBstr; +} +struct SAFEARR_UNKNOWN { + ULONG Size; + IUnknown * apUnknown; +} + +struct SAFEARR_DISPATCH { + ULONG Size; + IDispatch * apDispatch; +} + +struct SAFEARR_VARIANT { + ULONG Size; + wireVARIANT * aVariant; +} + +struct SAFEARR_BRECORD { + ULONG Size; + wireBRECORD * aRecord; +} + +struct SAFEARR_HAVEIID { + ULONG Size; + IUnknown * apUnknown; + IID iid; +} + +enum SF_TYPE { + SF_ERROR = VT_ERROR, + SF_I1 = VT_I1, + SF_I2 = VT_I2, + SF_I4 = VT_I4, + SF_I8 = VT_I8, + SF_BSTR = VT_BSTR, + SF_UNKNOWN = VT_UNKNOWN, + SF_DISPATCH = VT_DISPATCH, + SF_VARIANT = VT_VARIANT, + SF_RECORD = VT_RECORD, + SF_HAVEIID = VT_UNKNOWN|VT_RESERVED, +} + +union uSAFEARRAY_UNION { +SAFEARR_BSTR BstrStr; +SAFEARR_UNKNOWN UnknownStr; +SAFEARR_DISPATCH DispatchStr; +SAFEARR_VARIANT VariantStr; +SAFEARR_BRECORD RecordStr; +SAFEARR_HAVEIID HaveIidStr; +BYTE_SIZEDARR ByteStr; +WORD_SIZEDARR WordStr; +DWORD_SIZEDARR LongStr; +HYPER_SIZEDARR HyperStr; +} + +struct SAFEARRAY_UNION { + ULONG sfType; + uSAFEARRAY_UNION u; +} + +alias SAFEARRAY_UNION SAFEARRAYUNION; + +struct wireSAFEARRAY { + USHORT cDims; + USHORT fFeatures; + ULONG cbElements; + ULONG cLocks; + SAFEARRAYUNION uArrayStructs; + SAFEARRAYBOUND[1] rgsabound; +} +alias wireSAFEARRAY SAFEARRAY ; + +alias wireSAFEARRAY * wirePSAFEARRAY; + + +struct tagSAFEARRAY { + USHORT cDims; + USHORT fFeatures; + ULONG cbElements; + ULONG cLocks; + PVOID pvData; + SAFEARRAYBOUND[1] rgsabound; +} + +alias SAFEARRAY * LPSAFEARRAY; + +const USHORT FADF_AUTO = 0x0001; /* array is allocated on the stack */ +const USHORT FADF_STATIC = 0x0002; /* array is staticly allocated */ +const USHORT FADF_EMBEDDED = 0x0004; /* array is embedded in a structure */ +const USHORT FADF_FIXEDSIZE = 0x0010; /* may not be resized or reallocated */ +const USHORT FADF_RECORD = 0x0020; /* an array of records */ +const USHORT FADF_HAVEIID = 0x0040; /* with FADF_DISPATCH, FADF_UNKNOWN */ + /* array has an IID for interfaces */ +const USHORT FADF_HAVEVARTYPE= 0x0080; /* array has a VT type */ +const USHORT FADF_BSTR = 0x0100; /* an array of BSTRs */ +const USHORT FADF_UNKNOWN = 0x0200; /* an array of IUnknown* */ +const USHORT FADF_DISPATCH = 0x0400; /* an array of IDispatch* */ +const USHORT FADF_VARIANT = 0x0800; /* an array of VARIANTs */ +const USHORT FADF_RESERVED = 0xF008; /* reserved bits */ + + +// ######################################################################### +// VARIANT +// ######################################################################### +/* +cpp_quote("#if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)") +cpp_quote("#define __VARIANT_NAME_1 n1") +cpp_quote("#define __VARIANT_NAME_2 n2") +cpp_quote("#define __VARIANT_NAME_3 n3") +cpp_quote("#define __VARIANT_NAME_4 brecVal") +cpp_quote("#else") +cpp_quote("#define __tagVARIANT") +cpp_quote("#define __VARIANT_NAME_1") +cpp_quote("#define __VARIANT_NAME_2") +cpp_quote("#define __VARIANT_NAME_3") +cpp_quote("#define __tagBRECORD") +cpp_quote("#define __VARIANT_NAME_4") +cpp_quote("#endif") +*/ + +/*struct brecVal_t { + PVOID pvRecord; + IRecordInfo * pRecInfo; +}*/ +struct brecVal_t { + PVOID pvRecord; + IUnknown * pRecInfo; +} + +alias double DOUBLE; +alias double DATE; +alias VARIANT_BOOL _VARIANT_BOOL; +alias long CY; + + +union n3_t { + LONG lVal; /* VT_I4 */ + BYTE bVal; /* VT_UI1 */ + SHORT iVal; /* VT_I2 */ + FLOAT fltVal; /* VT_R4 */ + DOUBLE dblVal; /* VT_R8 */ + VARIANT_BOOL boolVal; /* VT_BOOL */ + _VARIANT_BOOL BOOLval; /* (obsolete) */ + SCODE scode; /* VT_ERROR */ + CY cyVal; /* VT_CY */ + DATE date; /* VT_DATE */ + BSTR bstrVal; /* VT_BSTR */ + IUnknown punkVal; /* VT_UNKNOWN */ + IDispatch pdispVal; /* VT_DISPATCH */ + SAFEARRAY * parray; /* VT_ARRAY */ + BYTE * pbVal; /* VT_BYREF|VT_UI1 */ + SHORT * piVal; /* VT_BYREF|VT_I2 */ + LONG * plVal; /* VT_BYREF|VT_I4 */ + FLOAT * pfltVal; /* VT_BYREF|VT_R4 */ + DOUBLE * pdblVal; /* VT_BYREF|VT_R8 */ + VARIANT_BOOL *pboolVal; /* VT_BYREF|VT_BOOL */ + _VARIANT_BOOL *pbool; /* (obsolete) */ + SCODE * pscode; /* VT_BYREF|VT_ERROR */ + CY * pcyVal; /* VT_BYREF|VT_CY */ + DATE * pdate; /* VT_BYREF|VT_DATE */ + BSTR * pbstrVal; /* VT_BYREF|VT_BSTR */ + IUnknown * ppunkVal; /* VT_BYREF|VT_UNKNOWN */ + IDispatch * ppdispVal; /* VT_BYREF|VT_DISPATCH */ + SAFEARRAY ** pparray; /* VT_BYREF|VT_ARRAY */ + VARIANT * pvarVal; /* VT_BYREF|VT_VARIANT */ + PVOID byref; /* Generic ByRef */ + CHAR cVal; /* VT_I1 */ + USHORT uiVal; /* VT_UI2 */ + ULONG ulVal; /* VT_UI4 */ + INT intVal; /* VT_INT */ + UINT uintVal; /* VT_UINT */ + DECIMAL * pdecVal; /* VT_BYREF|VT_DECIMAL */ + CHAR * pcVal; /* VT_BYREF|VT_I1 */ + USHORT * puiVal; /* VT_BYREF|VT_UI2 */ + ULONG * pulVal; /* VT_BYREF|VT_UI4 */ + INT * pintVal; /* VT_BYREF|VT_INT */ + UINT * puintVal; /* VT_BYREF|VT_UINT */ + brecVal_t brecVal; /* VT_RECORD */ +} + +struct n2_t { + VARTYPE vt; + WORD wReserved1; + WORD wReserved2; + WORD wReserved3; + n3_t n3; +}; +union n1_t { + n2_t n2; + DECIMAL decVal; +}; + +// in tango.sys.win32.Types +/+ +struct VARIANT { + n1_t n1; + + VARTYPE vt() { return n1.n2.vt; }; + void vt(VARTYPE val) { n1.n2.vt = val; } + LONG lVal() { return n1.n2.n3.lVal; } + void lVal(LONG val) { return n1.n2.n3.lVal = val; } + FLOAT fltVal() { return n1.n2.n3.fltVal; } + void fltVal(FLOAT val) { return n1.n2.n3.fltVal = val; } + IDispatch pdispVal() { return n1.n2.n3.pdispVal; } + void pdispVal(IDispatch val) { n1.n2.n3.pdispVal = val; } + IUnknown punkVal() { return n1.n2.n3.punkVal; } + void punkVal(IUnknown val) { n1.n2.n3.punkVal = val; } + VARIANT_BOOL boolVal() { return n1.n2.n3.boolVal; } + void boolVal(VARIANT_BOOL val) { n1.n2.n3.boolVal = val; } + SHORT iVal() { return n1.n2.n3.iVal; } + void iVal(SHORT val) { n1.n2.n3.iVal = val; } + BSTR bstrVal() { return n1.n2.n3.bstrVal; } + void bstrVal(BSTR val) { n1.n2.n3.bstrVal = val; } + +}; ++/ + + +/* +struct VARIANT { + LONG[4] mmmm; +} +*/ +alias VARIANT * LPVARIANT; +alias VARIANT VARIANTARG; +alias VARIANT * LPVARIANTARG; + +/+ +struct _wireBRECORD { + ULONG fFlags; + ULONG clSize; + IRecordInfo pRecInfo; + byte * pRecord; +}; +++++++++++++++++++++/ + + +/+ +struct _wireVARIANT { + DWORD clSize; + DWORD rpcReserved; + USHORT vt; + USHORT wReserved1; + USHORT wReserved2; + USHORT wReserved3; + [switch_type(ULONG), switch_is(vt)] union { + [case(VT_I4)] LONG lVal; /* VT_I4 */ + [case(VT_UI1)] BYTE bVal; /* VT_UI1 */ + [case(VT_I2)] SHORT iVal; /* VT_I2 */ + [case(VT_R4)] FLOAT fltVal; /* VT_R4 */ + [case(VT_R8)] DOUBLE dblVal; /* VT_R8 */ + [case(VT_BOOL)] VARIANT_BOOL boolVal; /* VT_BOOL */ + [case(VT_ERROR)] SCODE scode; /* VT_ERROR */ + [case(VT_CY)] CY cyVal; /* VT_CY */ + [case(VT_DATE)] DATE date; /* VT_DATE */ + [case(VT_BSTR)] wireBSTR bstrVal; /* VT_BSTR */ + [case(VT_UNKNOWN)] IUnknown * punkVal; /* VT_UNKNOWN */ + [case(VT_DISPATCH)] IDispatch * pdispVal; /* VT_DISPATCH */ + [case(VT_ARRAY)] wireSAFEARRAY parray; /* VT_ARRAY */ + + [case(VT_RECORD, VT_RECORD|VT_BYREF)] + wireBRECORD brecVal; /* VT_RECORD */ + + [case(VT_UI1|VT_BYREF)] + BYTE * pbVal; /* VT_BYREF|VT_UI1 */ + [case(VT_I2|VT_BYREF)] + SHORT * piVal; /* VT_BYREF|VT_I2 */ + [case(VT_I4|VT_BYREF)] + LONG * plVal; /* VT_BYREF|VT_I4 */ + [case(VT_R4|VT_BYREF)] + FLOAT * pfltVal; /* VT_BYREF|VT_R4 */ + [case(VT_R8|VT_BYREF)] + DOUBLE * pdblVal; /* VT_BYREF|VT_R8 */ + [case(VT_BOOL|VT_BYREF)] + VARIANT_BOOL *pboolVal; /* VT_BYREF|VT_BOOL */ + [case(VT_ERROR|VT_BYREF)] + SCODE * pscode; /* VT_BYREF|VT_ERROR */ + [case(VT_CY|VT_BYREF)] + CY * pcyVal; /* VT_BYREF|VT_CY */ + [case(VT_DATE|VT_BYREF)] + DATE * pdate; /* VT_BYREF|VT_DATE */ + [case(VT_BSTR|VT_BYREF)] + wireBSTR * pbstrVal; /* VT_BYREF|VT_BSTR */ + [case(VT_UNKNOWN|VT_BYREF)] + IUnknown ** ppunkVal; /* VT_BYREF|VT_UNKNOWN */ + [case(VT_DISPATCH|VT_BYREF)] + IDispatch ** ppdispVal; /* VT_BYREF|VT_DISPATCH */ + [case(VT_ARRAY|VT_BYREF)] + wireSAFEARRAY *pparray; /* VT_BYREF|VT_ARRAY */ + [case(VT_VARIANT|VT_BYREF)] + wireVARIANT * pvarVal; /* VT_BYREF|VT_VARIANT */ + + [case(VT_I1)] CHAR cVal; /* VT_I1 */ + [case(VT_UI2)] USHORT uiVal; /* VT_UI2 */ + [case(VT_UI4)] ULONG ulVal; /* VT_UI4 */ + [case(VT_INT)] INT intVal; /* VT_INT */ + [case(VT_UINT)] UINT uintVal; /* VT_UINT */ + [case(VT_DECIMAL)] DECIMAL decVal; /* VT_DECIMAL */ + + [case(VT_BYREF|VT_DECIMAL)] + DECIMAL * pdecVal; /* VT_BYREF|VT_DECIMAL */ + [case(VT_BYREF|VT_I1)] + CHAR * pcVal; /* VT_BYREF|VT_I1 */ + [case(VT_BYREF|VT_UI2)] + USHORT * puiVal; /* VT_BYREF|VT_UI2 */ + [case(VT_BYREF|VT_UI4)] + ULONG * pulVal; /* VT_BYREF|VT_UI4 */ + [case(VT_BYREF|VT_INT)] + INT * pintVal; /* VT_BYREF|VT_INT */ + [case(VT_BYREF|VT_UINT)] + UINT * puintVal; /* VT_BYREF|VT_UINT */ + [case(VT_EMPTY)] ; /* nothing */ + [case(VT_NULL)] ; /* nothing */ + }; +}; ++/ + +//######################################################################## +// End of VARIANT & SAFEARRAY +//######################################################################## + + +//TypeInfo stuff. + +alias LONG DISPID; +alias DISPID MEMBERID; +alias DWORD HREFTYPE; + +enum TYPEKIND { + TKIND_ENUM = 0, + TKIND_RECORD, + TKIND_MODULE, + TKIND_INTERFACE, + TKIND_DISPATCH, + TKIND_COCLASS, + TKIND_ALIAS, + TKIND_UNION, + TKIND_MAX /* end of enum marker */ +} +union TD_00{ + TYPEDESC * lptdesc; + ARRAYDESC * lpadesc; + HREFTYPE hreftype; +}; + +struct TYPEDESC { + TD_00 u; + VARTYPE vt; +} + +struct ARRAYDESC { + TYPEDESC tdescElem; /* element type */ + USHORT cDims; /* dimension count */ + SAFEARRAYBOUND[1] rgbounds; /* var len array of bounds */ +} + +// parameter description +struct PARAMDESCEX { + ULONG cBytes; /* size of this structure */ + VARIANTARG varDefaultValue; /* default value of this parameter */ +} +alias PARAMDESCEX * LPPARAMDESCEX; + +struct PARAMDESC { + LPPARAMDESCEX pparamdescex; /* valid if PARAMFLAG_FHASDEFAULT bit is set */ + USHORT wParamFlags; /* IN, OUT, etc */ +} +alias PARAMDESC * LPPARAMDESC; + +const USHORT PARAMFLAG_NONE = 0x00; +const USHORT PARAMFLAG_FIN = 0x01; +const USHORT PARAMFLAG_FOUT = 0x02; +const USHORT PARAMFLAG_FLCID = 0x04; +const USHORT PARAMFLAG_FRETVAL = 0x08; +const USHORT PARAMFLAG_FOPT = 0x10; +const USHORT PARAMFLAG_FHASDEFAULT = 0x20; +const USHORT PARAMFLAG_FHASCUSTDATA = 0x40; + +struct IDLDESC { + ULONG dwReserved; + USHORT wIDLFlags; /* IN, OUT, etc */ +} +alias IDLDESC * LPIDLDESC; + +const USHORT IDLFLAG_NONE = PARAMFLAG_NONE; +const USHORT IDLFLAG_FIN = PARAMFLAG_FIN; +const USHORT IDLFLAG_FOUT = PARAMFLAG_FOUT; +const USHORT IDLFLAG_FLCID = PARAMFLAG_FLCID; +const USHORT IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL; + + +struct ELEMDESC { /* a format that MIDL likes */ + TYPEDESC tdesc; /* the type of the element */ + PARAMDESC paramdesc; /* IDLDESC is a subset of PARAMDESC */ +} + +struct TYPEATTR { + GUID guid; /* the GUID of the TypeInfo */ + LCID lcid; /* locale of member names and doc strings */ + DWORD dwReserved; + MEMBERID memidConstructor; /* ID of constructor, MEMBERID_NIL if none */ + MEMBERID memidDestructor; /* ID of destructor, MEMBERID_NIL if none */ + LPOLESTR lpstrSchema; + ULONG cbSizeInstance; /* the size of an instance of this type */ + TYPEKIND typekind; /* the kind of type this typeinfo describes */ + WORD cFuncs; /* number of functions */ + WORD cVars; /* number of variables / data members */ + WORD cImplTypes; /* number of implemented interfaces */ + WORD cbSizeVft; /* the size of this types virtual func table */ + WORD cbAlignment; /* specifies the alignment requirements for + an instance of this type, + 0 = align on 64k boundary + 1 = byte align + 2 = word align + 4 = dword align... */ + WORD wTypeFlags; + WORD wMajorVerNum; /* major version number */ + WORD wMinorVerNum; /* minor version number */ + TYPEDESC tdescAlias; /* if typekind == TKIND_ALIAS this field + specifies the type for which this type + is an alias */ + IDLDESC idldescType; /* IDL attributes of the described type */ +} +alias TYPEATTR * LPTYPEATTR; + + +struct DISPPARAMS { + VARIANTARG * rgvarg; + DISPID * rgdispidNamedArgs; + UINT cArgs; + UINT cNamedArgs; +} + +struct EXCEPINFO { + WORD wCode; /* An error code describing the error. */ + WORD wReserved; + BSTR bstrSource; /* A source of the exception */ + BSTR bstrDescription; /* A description of the error */ + BSTR bstrHelpFile; /* Fully qualified drive, path, and file name */ + DWORD dwHelpContext; /* help context of topic within the help file */ + ULONG pvReserved; + ULONG pfnDeferredFillIn; + SCODE scode; +} +/+ + +cpp_quote("#else /* 0 */") +cpp_quote("typedef struct tagEXCEPINFO {") +cpp_quote(" WORD wCode;") +cpp_quote(" WORD wReserved;") +cpp_quote(" BSTR bstrSource;") +cpp_quote(" BSTR bstrDescription;") +cpp_quote(" BSTR bstrHelpFile;") +cpp_quote(" DWORD dwHelpContext;") +cpp_quote(" PVOID pvReserved;") +cpp_quote(" HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);") +cpp_quote(" SCODE scode;") +cpp_quote("} EXCEPINFO, * LPEXCEPINFO;") +cpp_quote("#endif /* 0 */") ++/ + +enum CALLCONV { + CC_FASTCALL = 0, + CC_CDECL = 1, + CC_MSCPASCAL, + CC_PASCAL = CC_MSCPASCAL, + CC_MACPASCAL, + CC_STDCALL, + CC_FPFASTCALL, + CC_SYSCALL, + CC_MPWCDECL, + CC_MPWPASCAL, + CC_MAX /* end of enum marker */ +} +enum FUNCKIND { + FUNC_VIRTUAL, + FUNC_PUREVIRTUAL, + FUNC_NONVIRTUAL, + FUNC_STATIC, + FUNC_DISPATCH +} + +enum INVOKEKIND { + INVOKE_FUNC = 1, + INVOKE_PROPERTYGET = 2, + INVOKE_PROPERTYPUT = 4, + INVOKE_PROPERTYPUTREF = 8 +} + +struct FUNCDESC { + MEMBERID memid; + SCODE * lprgscode; + ELEMDESC * lprgelemdescParam; /* array of param types */ + FUNCKIND funckind; + INVOKEKIND invkind; + CALLCONV callconv; + SHORT cParams; + SHORT cParamsOpt; + SHORT oVft; + SHORT cScodes; + ELEMDESC elemdescFunc; + WORD wFuncFlags; +} +alias FUNCDESC * LPFUNCDESC; + +enum VARKIND { + VAR_PERINSTANCE, + VAR_STATIC, + VAR_CONST, + VAR_DISPATCH +} +/* IMPLTYPE Flags */ +const USHORT IMPLTYPEFLAG_FDEFAULT = 0x1; +const USHORT IMPLTYPEFLAG_FSOURCE = 0x2; +const USHORT IMPLTYPEFLAG_FRESTRICTED = 0x4; +const USHORT IMPLTYPEFLAG_FDEFAULTVTABLE= 0x8; + +union VD_u { + /* offset of variable within the instance */ + ULONG oInst; + VARIANT * lpvarValue; /* the value of the constant */ +} +struct VARDESC { + MEMBERID memid; + LPOLESTR lpstrSchema; + VD_u u; + ELEMDESC elemdescVar; + WORD wVarFlags; + VARKIND varkind; +} +alias VARDESC * LPVARDESC; + +enum TYPEFLAGS { + TYPEFLAG_FAPPOBJECT = 0x01, + TYPEFLAG_FCANCREATE = 0x02, + TYPEFLAG_FLICENSED = 0x04, + TYPEFLAG_FPREDECLID = 0x08, + TYPEFLAG_FHIDDEN = 0x10, + TYPEFLAG_FCONTROL = 0x20, + TYPEFLAG_FDUAL = 0x40, + TYPEFLAG_FNONEXTENSIBLE = 0x80, + TYPEFLAG_FOLEAUTOMATION = 0x100, + TYPEFLAG_FRESTRICTED = 0x200, + TYPEFLAG_FAGGREGATABLE = 0x400, + TYPEFLAG_FREPLACEABLE = 0x800, + TYPEFLAG_FDISPATCHABLE = 0x1000, + TYPEFLAG_FREVERSEBIND = 0x2000 +} + +enum FUNCFLAGS { + FUNCFLAG_FRESTRICTED = 0x1, + FUNCFLAG_FSOURCE = 0x2, + FUNCFLAG_FBINDABLE = 0x4, + FUNCFLAG_FREQUESTEDIT = 0x8, + FUNCFLAG_FDISPLAYBIND = 0x10, + FUNCFLAG_FDEFAULTBIND = 0x20, + FUNCFLAG_FHIDDEN = 0x40, + FUNCFLAG_FUSESGETLASTERROR = 0x80, + FUNCFLAG_FDEFAULTCOLLELEM = 0x100, + FUNCFLAG_FUIDEFAULT = 0x200, + FUNCFLAG_FNONBROWSABLE = 0x400, + FUNCFLAG_FREPLACEABLE = 0x800, + FUNCFLAG_FIMMEDIATEBIND = 0x1000 +} + +enum VARFLAGS { + VARFLAG_FREADONLY = 0x1, + VARFLAG_FSOURCE = 0x2, + VARFLAG_FBINDABLE = 0x4, + VARFLAG_FREQUESTEDIT = 0x8, + VARFLAG_FDISPLAYBIND = 0x10, + VARFLAG_FDEFAULTBIND = 0x20, + VARFLAG_FHIDDEN = 0x40, + VARFLAG_FRESTRICTED = 0x80, + VARFLAG_FDEFAULTCOLLELEM = 0x100, + VARFLAG_FUIDEFAULT = 0x200, + VARFLAG_FNONBROWSABLE = 0x400, + VARFLAG_FREPLACEABLE = 0x800, + VARFLAG_FIMMEDIATEBIND = 0x1000 +} + +struct CLEANLOCALSTORAGE { + IUnknown pInterface; /* interface that is responsible for storage */ + PVOID pStorage; /* the storage being managed by interface */ + DWORD flags; /* which interface, what storage */ +} + +struct CUSTDATAITEM { + GUID guid; /* guid identifying this custom data item */ + VARIANTARG varValue; /* value of this custom data item */ +} +alias CUSTDATAITEM * LPCUSTDATAITEM; + +struct CUSTDATA { + DWORD cCustData; /* number of custom data items in rgCustData */ + LPCUSTDATAITEM prgCustData; + /* array of custom data items */ +} +alias CUSTDATA * LPCUSTDATA; + + +interface ICreateTypeInfo: IUnknown +{ + HRESULT SetGuid( REFGUID guid ); + HRESULT SetTypeFlags( UINT uTypeFlags ); + HRESULT SetDocString( LPOLESTR pStrDoc ); + HRESULT SetHelpContext( DWORD dwHelpContext); + HRESULT SetVersion( WORD wMajorVerNum, WORD wMinorVerNum ); + HRESULT AddRefTypeInfo( ITypeInfo pTInfo, HREFTYPE * phRefType ); + HRESULT AddFuncDesc( UINT index, FUNCDESC * pFuncDesc ); + HRESULT AddImplType( UINT index, HREFTYPE hRefType ); + HRESULT SetImplTypeFlags( UINT index, INT implTypeFlags ); + HRESULT SetAlignment( WORD cbAlignment ); + HRESULT SetSchema( LPOLESTR pStrSchema ); + HRESULT AddVarDesc( UINT index, VARDESC * pVarDesc ); + HRESULT SetFuncAndParamNames( UINT index, LPOLESTR * rgszNames, UINT cNames ); + HRESULT SetVarName( UINT index, LPOLESTR szName ); + HRESULT SetTypeDescAlias( TYPEDESC * pTDescAlias ); + HRESULT DefineFuncAsDllEntry( UINT index,LPOLESTR szDllName,LPOLESTR szProcName ); + HRESULT SetFuncDocString( UINT index, LPOLESTR szDocString ); + HRESULT SetVarDocString(UINT index,LPOLESTR szDocString ); + HRESULT SetFuncHelpContext(UINT index,DWORD dwHelpContext ); + HRESULT SetVarHelpContext(UINT index,DWORD dwHelpContext ); + HRESULT SetMops(UINT index,BSTR bstrMops ); + HRESULT SetTypeIdldesc(IDLDESC * pIdlDesc ); + HRESULT LayOut(); +} +alias ICreateTypeInfo LPCREATETYPEINFO; + +interface ICreateTypeInfo2: ICreateTypeInfo +{ + HRESULT DeleteFuncDesc(UINT index); + HRESULT DeleteFuncDescByMemId(MEMBERID memid,INVOKEKIND invKind); + HRESULT DeleteVarDesc(UINT index); + HRESULT DeleteVarDescByMemId(MEMBERID memid); + HRESULT DeleteImplType(UINT index); + HRESULT SetCustData(REFGUID guid,VARIANT * pVarVal); + HRESULT SetFuncCustData(UINT index,REFGUID guid,VARIANT * pVarVal); + HRESULT SetParamCustData(UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT * pVarVal); + HRESULT SetVarCustData(UINT index,REFGUID guid,VARIANT * pVarVal); + HRESULT SetImplTypeCustData(UINT index,REFGUID guid,VARIANT * pVarVal); + HRESULT SetHelpStringContext(ULONG dwHelpStringContext); + HRESULT SetFuncHelpStringContext(UINT index,ULONG dwHelpStringContext); + HRESULT SetVarHelpStringContext(UINT index,ULONG dwHelpStringContext); + HRESULT Invalidate(); + HRESULT SetName(LPOLESTR szName); +} +alias ICreateTypeInfo2 LPCREATETYPEINFO2; + +interface ICreateTypeLib : IUnknown +{ + HRESULT CreateTypeInfo(LPOLESTR szName,TYPEKIND tkind,ICreateTypeInfo * ppCTInfo); + HRESULT SetName(LPOLESTR szName); + HRESULT SetVersion(WORD wMajorVerNum,WORD wMinorVerNum); + HRESULT SetGuid(REFGUID guid); + HRESULT SetDocString( LPOLESTR szDoc); + HRESULT SetHelpFileName(LPOLESTR szHelpFileName); + HRESULT SetHelpContext(DWORD dwHelpContext); + HRESULT SetLcid(LCID lcid); + HRESULT SetLibFlags(UINT uLibFlags); + HRESULT SaveAllChanges(); +} +alias ICreateTypeLib LPCREATETYPELIB; + +interface ICreateTypeLib2 : ICreateTypeLib +{ + HRESULT DeleteTypeInfo(LPOLESTR szName); + HRESULT SetCustData(REFGUID guid,VARIANT * pVarVal); + HRESULT SetHelpStringContext(ULONG dwHelpStringContext); + HRESULT SetHelpStringDll(LPOLESTR szFileName); +} + +interface IDispatch : IUnknown +{ +HRESULT GetTypeInfoCount(UINT * pctinfo); +HRESULT GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo * ppTInfo); +HRESULT GetIDsOfNames(REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId); +HRESULT Invoke(DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS* pDispParams,VARIANT* pVarResult,EXCEPINFO* pExcepInfo,UINT* puArgErr); +} +alias IDispatch LPDISPATCH; +const DISPID DISPID_UNKNOWN = cast(DISPID)-1; +const DISPID DISPID_VALUE = cast(DISPID)0; +const DISPID DISPID_PROPERTYPUT = cast(DISPID)-3; +const DISPID DISPID_NEWENUM = cast(DISPID)-4; +const DISPID DISPID_EVALUATE = cast(DISPID)-5; +const DISPID DISPID_CONSTRUCTOR = cast(DISPID)-6; +const DISPID DISPID_DESTRUCTOR = cast(DISPID)-7; +const DISPID DISPID_COLLECT = cast(DISPID)-8; + +/+++++++++++++++++++++++++++++++++++++++ + +[ + object, + uuid(00020404-0000-0000-C000-000000000046), + pointer_default(unique) +] + +interface IEnumVARIANT : IUnknown +{ + typedef [unique] IEnumVARIANT* LPENUMVARIANT; + + [local] + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pCeltFetched)] VARIANT * rgVar, + [out] ULONG * pCeltFetched + ); + + [call_as(Next)] + HRESULT RemoteNext( + [in] ULONG celt, + [out, size_is(celt), length_is(*pCeltFetched)] VARIANT * rgVar, + [out] ULONG * pCeltFetched + ); + + HRESULT Skip( + [in] ULONG celt + ); + + HRESULT Reset( + ); + + HRESULT Clone( + [out] IEnumVARIANT ** ppEnum + ); +} + + ++/ +enum DESCKIND { + DESCKIND_NONE = 0, + DESCKIND_FUNCDESC, + DESCKIND_VARDESC, + DESCKIND_TYPECOMP, + DESCKIND_IMPLICITAPPOBJ, + DESCKIND_MAX +} + + +union BINDPTR { + FUNCDESC * lpfuncdesc; + VARDESC * lpvardesc; + ITypeComp lptcomp; +} +alias BINDPTR * LPBINDPTR; + +interface ITypeComp : IUnknown +{ + + HRESULT Bind(LPOLESTR szName,ULONG lHashVal,WORD wFlags, +ITypeInfo * ppTInfo,DESCKIND * pDescKind,BINDPTR * pBindPtr + ); + + + HRESULT BindType( LPOLESTR szName,ULONG lHashVal, + ITypeInfo * ppTInfo, + ITypeComp * ppTComp + ); + +} + +interface ITypeInfo : IUnknown +{ + HRESULT GetTypeAttr(TYPEATTR ** ppTypeAttr); + HRESULT GetTypeComp( ITypeComp * ppTComp ); + HRESULT GetFuncDesc( UINT index, FUNCDESC ** ppFuncDesc ); + HRESULT GetVarDesc( UINT index,VARDESC ** ppVarDesc); + HRESULT GetNames(MEMBERID memid,BSTR * rgBstrNames,UINT cMaxNames,UINT * pcNames); + HRESULT GetRefTypeOfImplType(UINT index,HREFTYPE * pRefType); + HRESULT GetImplTypeFlags(UINT index,INT * pImplTypeFlags); + HRESULT GetIDsOfNames(LPOLESTR * rgszNames,UINT cNames,MEMBERID * pMemId); + HRESULT Invoke(PVOID pvInstance,MEMBERID memid,WORD wFlags,DISPPARAMS * pDispParams,VARIANT * pVarResult,EXCEPINFO * pExcepInfo,UINT * puArgErr); + HRESULT GetDocumentation(MEMBERID memid,BSTR * pBstrName,BSTR * pBstrDocString,DWORD * pdwHelpContext,BSTR * pBstrHelpFile); + HRESULT GetDllEntry(MEMBERID memid,INVOKEKIND invKind,BSTR * pBstrDllName,BSTR * pBstrName,WORD * pwOrdinal); + HRESULT GetRefTypeInfo(HREFTYPE hRefType,ITypeInfo * ppTInfo); + HRESULT AddressOfMember(MEMBERID memid,INVOKEKIND invKind,PVOID * ppv); + HRESULT CreateInstance(IUnknown pUnkOuter,REFIID riid,PVOID * ppvObj); + HRESULT GetMops(MEMBERID memid,BSTR * pBstrMops); + HRESULT GetContainingTypeLib( ITypeLib ** ppTLib,UINT * pIndex); + void ReleaseTypeAttr(TYPEATTR * pTypeAttr ); + void ReleaseFuncDesc( FUNCDESC * pFuncDesc ); + void ReleaseVarDesc(VARDESC * pVarDesc ); +} +alias ITypeInfo LPTYPEINFO; + +interface ITypeInfo2 : ITypeInfo +{ + HRESULT GetTypeKind(TYPEKIND * pTypeKind); + HRESULT GetTypeFlags(ULONG * pTypeFlags); + HRESULT GetFuncIndexOfMemId(MEMBERID memid,INVOKEKIND invKind,UINT * pFuncIndex); + HRESULT GetVarIndexOfMemId(MEMBERID memid,UINT * pVarIndex); + HRESULT GetCustData(REFGUID guid,VARIANT * pVarVal); + HRESULT GetFuncCustData(UINT index,REFGUID guid,VARIANT * pVarVal); + HRESULT GetParamCustData(UINT indexFunc,UINT indexParam,REFGUID guid,VARIANT * pVarVal); + HRESULT GetVarCustData(UINT index,REFGUID guid,VARIANT * pVarVal); + HRESULT GetImplTypeCustData(UINT index,REFGUID guid,VARIANT * pVarVal); + HRESULT GetDocumentation2(MEMBERID memid,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll); + HRESULT GetAllCustData(CUSTDATA * pCustData); + HRESULT GetAllFuncCustData(UINT index,CUSTDATA * pCustData); + HRESULT GetAllParamCustData(UINT indexFunc,UINT indexParam,CUSTDATA * pCustData); + HRESULT GetAllVarCustData(UINT index,CUSTDATA * pCustData); + HRESULT GetAllImplTypeCustData(UINT index,CUSTDATA * pCustData); +} + +alias ITypeInfo2 LPTYPEINFO2; + +enum SYSKIND { + SYS_WIN16 = 0, + SYS_WIN32, + SYS_MAC +} + +enum LIBFLAGS { + LIBFLAG_FRESTRICTED = 0x01, + LIBFLAG_FCONTROL = 0x02, + LIBFLAG_FHIDDEN = 0x04, + LIBFLAG_FHASDISKIMAGE = 0x08 +} + +struct TLIBATTR { + GUID guid; + LCID lcid; + SYSKIND syskind; + WORD wMajorVerNum; + WORD wMinorVerNum; + WORD wLibFlags; +} +alias TLIBATTR * LPTLIBATTR; + +interface ITypeLib : IUnknown +{ + UINT GetTypeInfoCount( + ); + + HRESULT GetTypeInfo( + UINT index, +ITypeInfo * ppTInfo + ); + +HRESULT GetTypeInfoType( + UINT index, + TYPEKIND * pTKind + ); + + HRESULT GetTypeInfoOfGuid( + REFGUID guid, + ITypeInfo * ppTinfo + ); + + HRESULT GetLibAttr( + TLIBATTR ** ppTLibAttr +); + + HRESULT GetTypeComp(ITypeComp * ppTComp ); + + HRESULT GetDocumentation(INT index,BSTR * pBstrName,BSTR * pBstrDocString,DWORD * pdwHelpContext,BSTR * pBstrHelpFile + ); + + HRESULT IsName(LPOLESTR szNameBuf,ULONG lHashVal,BOOL * pfName + ); + + HRESULT FindName( + LPOLESTR szNameBuf, + ULONG lHashVal, + ITypeInfo * ppTInfo, + MEMBERID * rgMemId, + USHORT * pcFound + ); + + void ReleaseTLibAttr( TLIBATTR * pTLibAttr ); +} + +alias ITypeLib LPTYPELIB; + +interface ITypeLib2 : ITypeLib +{ + HRESULT GetCustData(REFGUID guid,VARIANT * pVarVal); + HRESULT GetLibStatistics(ULONG * pcUniqueNames,ULONG * pcchUniqueNames); + HRESULT GetDocumentation2(INT index,LCID lcid,BSTR *pbstrHelpString,DWORD *pdwHelpStringContext,BSTR *pbstrHelpStringDll); + HRESULT GetAllCustData(CUSTDATA * pCustData); +} +alias ITypeLib2 LPTYPELIB2; + +enum CHANGEKIND { + CHANGEKIND_ADDMEMBER, + CHANGEKIND_DELETEMEMBER, + CHANGEKIND_SETNAMES, + CHANGEKIND_SETDOCUMENTATION, + CHANGEKIND_GENERAL, + CHANGEKIND_INVALIDATE, + CHANGEKIND_CHANGEFAILED, + CHANGEKIND_MAX, + ADDMEMBER = CHANGEKIND_ADDMEMBER, + DELETEMEMBER = CHANGEKIND_DELETEMEMBER, + SETNAMES = CHANGEKIND_SETNAMES, + SETDOCUMENTATION = CHANGEKIND_SETDOCUMENTATION, + GENERAL = CHANGEKIND_GENERAL, + INVALIDATE = CHANGEKIND_INVALIDATE, + CHANGEFAILED = CHANGEKIND_CHANGEFAILED, + MAX = CHANGEKIND_MAX +} + +interface ITypeChangeEvents: IUnknown +{ + // notification messages used by the dynamic typeinfo protocol. + HRESULT RequestTypeChange(CHANGEKIND changeKind,ITypeInfo pTInfoBefore,LPOLESTR pStrName,INT * pfCancel); + HRESULT AfterTypeChange(CHANGEKIND changeKind,ITypeInfo pTInfoAfter,LPOLESTR pStrName); +} +alias ITypeChangeEvents LPTYPECHANGEEVENTS; + +interface IErrorInfo: IUnknown +{ + HRESULT GetGUID( GUID * pGUID ); + HRESULT GetSource(BSTR * pBstrSource); + HRESULT GetDescription(BSTR * pBstrDescription); + HRESULT GetHelpFile(BSTR * pBstrHelpFile); + HRESULT GetHelpContext(DWORD * pdwHelpContext); +} +alias IErrorInfo LPERRORINFO; + +interface ICreateErrorInfo: IUnknown +{ + HRESULT SetGUID(REFGUID rguid); + HRESULT SetSource(LPOLESTR szSource); + HRESULT SetDescription(LPOLESTR szDescription); + HRESULT SetHelpFile(LPOLESTR szHelpFile); + HRESULT SetHelpContext(DWORD dwHelpContext); +} +alias ICreateErrorInfo LPCREATEERRORINFO; + +interface ISupportErrorInfo: IUnknown +{ + HRESULT InterfaceSupportsErrorInfo(REFIID riid); +} +alias ISupportErrorInfo LPSUPPORTERRORINFO; + +interface ITypeFactory : IUnknown +{ + HRESULT CreateFromTypeInfo(ITypeInfo pTypeInfo,REFIID riid, IUnknown *ppv); +} + +interface ITypeMarshal : IUnknown +{ + HRESULT Size(PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG * pSize); + HRESULT Marshal(PVOID pvType,DWORD dwDestContext,PVOID pvDestContext,ULONG cbBufferLength,BYTE * pBuffer,ULONG * pcbWritten); + HRESULT Unmarshal(PVOID pvType,DWORD dwFlags,ULONG cbBufferLength,BYTE * pBuffer,ULONG * pcbRead); + HRESULT Free(PVOID pvType); +} + + +interface IRecordInfo: IUnknown +{ + HRESULT RecordInit(PVOID pvNew); + HRESULT RecordClear(PVOID pvExisting); + HRESULT RecordCopy(PVOID pvExisting,PVOID pvNew); + HRESULT GetGuid(GUID * pguid); + HRESULT GetName(BSTR * pbstrName); + HRESULT GetSize(ULONG * pcbSize); + HRESULT GetTypeInfo(ITypeInfo * ppTypeInfo); + HRESULT GetField(PVOID pvData,LPCOLESTR szFieldName,VARIANT * pvarField); + HRESULT GetFieldNoCopy(PVOID pvData,LPCOLESTR szFieldName,VARIANT * pvarField,PVOID * ppvDataCArray); + HRESULT PutField(ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT * pvarField); + HRESULT PutFieldNoCopy(ULONG wFlags,PVOID pvData,LPCOLESTR szFieldName,VARIANT * pvarField); + HRESULT GetFieldNames(ULONG * pcNames,BSTR * rgBstrNames); + BOOL IsMatchingType(IRecordInfo pRecordInfo); + PVOID RecordCreate(); + HRESULT RecordCreateCopy(PVOID pvSource,PVOID * ppvDest); + HRESULT RecordDestroy(PVOID pvRecord); +} +alias IRecordInfo LPRECORDINFO; + +} // extern(WIndows); + +
--- a/dwt/internal/ole/win32/OBJIDL.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/ole/win32/OBJIDL.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,2744 +1,2744 @@ -module dwt.internal.ole.win32.OBJIDL; -//+------------------------------------------------------------------------- -// -// Microsoft Windows -// Copyright (C) Microsoft Corporation, 1992-1997. -// -// File: objidl.idl -// -//-------------------------------------------------------------------------- - - -private import dwt.internal.ole.win32.extras; -private import dwt.internal.win32.WINTYPES; -// private import std.c.windows.windows; -// private import std.c.windows.com; -// private import dwt.internal.win32.os; - - -/* *NEED* to port wtypes.h */ - -extern( Windows ) { - - - - -//#ifndef DO_NO_IMPORTS -//import "unknwn.idl"; -//import "wtypes.idl"; -//#endif - -enum SRVINFO -{ - SRVINFO_F_COSERVERINFO = 0, - SRVINFO_F_COSERVERINFO2 = 1 -} - -struct COSERVERINFO -{ - DWORD dwReserved1; - LPWSTR pwszName; - COAUTHINFO * pAuthInfo; - DWORD dwReserved2; -} - -struct COSERVERINFO2 { - DWORD dwFlags; - LPWSTR pwszName; - COAUTHINFO* pAuthInfo; - IUnknown* ppCall; - LPWSTR pwszCodeURL; - DWORD dwFileVersionMS; - DWORD dwFileVersionLS; - LPWSTR pwszContentType; -} - - -/**************************************************************************** - * Component Object Interfaces - ****************************************************************************/ - -interface IMarshal : IUnknown -{ - HRESULT GetUnmarshalClass( REFIID riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags, CLSID *pCid ); - HRESULT GetMarshalSizeMax( REFIID riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags, DWORD *pSize ); - HRESULT MarshalInterface( IStream pStm, REFIID riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags ); - HRESULT UnmarshalInterface( IStream pStm, REFIID riid, void **ppv ); - HRESULT ReleaseMarshalData( IStream pStm ); - HRESULT DisconnectObject( DWORD dwReserved ); -} -alias IMarshal LPMARSHAL; - -interface IMalloc : IUnknown -{ - void * Alloc( ULONG cb ); - void * Realloc( void * pv, ULONG cb ); - void Free( void * pv ); - ULONG GetSize( void * pv ); - int DidAlloc( void * pv ); - void HeapMinimize(); -} -alias IMalloc LPMALLOC; - -interface IMallocSpy : IUnknown -{ - ULONG PreAlloc( ULONG cbRequest ); - void * PostAlloc( void * pActual ); - void * PreFree( void *pRequest, BOOL fSpyed ); - void PostFree( BOOL fSpyed ); - ULONG PreRealloc( void *pRequest, ULONG cbRequest, void **ppNewRequest, BOOL fSpyed ); - void * PostRealloc( void *pActual, BOOL fSpyed ); - void * PreGetSize( void *pRequest, BOOL fSpyed ); - ULONG PostGetSize( ULONG cbActual, BOOL fSpyed ); - void * PreDidAlloc( void * pRequest, BOOL fSpyed ); - int PostDidAlloc( void *pRequest, BOOL fSpyed, int fActual ); - void PreHeapMinimize(); - void PostHeapMinimize(); -} -alias IMallocSpy LPMALLOCSPY; - -interface IStdMarshalInfo : IUnknown -{ - HRESULT GetClassForHandler( DWORD dwDestContext, void *pvDestContext, CLSID *pClsid ); -} -alias IStdMarshalInfo LPSTDMARSHALINFO; - - // bit flags for IExternalConnection -enum EXTCONN -{ - EXTCONN_STRONG = 0x0001, // strong connection - EXTCONN_WEAK = 0x0002, // weak connection (table, container) - EXTCONN_CALLABLE = 0x0004, // table .vs. callable -} - -interface IExternalConnection : IUnknown -{ - // *** IExternalConnection methods *** - DWORD AddConnection( DWORD extconn, DWORD reserved ); - DWORD ReleaseConnection( DWORD extconn, DWORD reserved, BOOL fLastReleaseCloses ); -} -alias IExternalConnection LPEXTERNALCONNECTION; - - -struct MULTI_QI -{ - const IID *pIID; // pass this one in - IUnknown pItf; // get these out (you must set to NULL before calling) - HRESULT hr; -} - -interface IMultiQI : IUnknown -{ - HRESULT QueryMultipleInterfaces( ULONG cMQIs, MULTI_QI *pMQIs ); -} -alias IMultiQI LPMULTIQI; - -interface IEnumUnknown : IUnknown -{ - HRESULT Next( ULONG celt, IUnknown * rgelt, ULONG *pceltFetched); - HRESULT Skip( ULONG celt ); - HRESULT Reset(); - HRESULT Clone( IEnumUnknown * ppenum ); -} -alias IEnumUnknown LPENUMUNKNOWN; - - - -/**************************************************************************** - * Binding Interfaces - ****************************************************************************/ - -struct BIND_OPTS { - DWORD cbStruct; // sizeof(BIND_OPTS) - DWORD grfFlags; - DWORD grfMode; - DWORD dwTickCountDeadline; -} -alias BIND_OPTS * LPBIND_OPTS; - -struct BIND_OPTS2 { - DWORD cbStruct; // sizeof(BIND_OPTS2) - DWORD grfFlags; - DWORD grfMode; - DWORD dwTickCountDeadline; - DWORD dwTrackFlags; - DWORD dwClassContext; - LCID locale; - COSERVERINFO * pServerInfo; -} -alias BIND_OPTS2 * LPBIND_OPTS2; - -enum BIND_FLAGS -{ - BIND_MAYBOTHERUSER = 1, - BIND_JUSTTESTEXISTENCE = 2 -} - -interface IBindCtx : IUnknown -{ - HRESULT RegisterObjectBound( IUnknown punk ); - HRESULT RevokeObjectBound( IUnknown punk ); - HRESULT ReleaseBoundObjects(); - HRESULT SetBindOptions( BIND_OPTS * pbindopts ); - HRESULT GetBindOptions( BIND_OPTS * pbindopts ); - HRESULT GetRunningObjectTable( IRunningObjectTable * pprot ); - HRESULT RegisterObjectParam( LPOLESTR pszKey, IUnknown punk ); - HRESULT GetObjectParam( LPOLESTR pszKey, IUnknown * ppunk ); - HRESULT EnumObjectParam( IEnumString * ppenum ); - HRESULT RevokeObjectParam( LPOLESTR pszKey ); -} -alias IBindCtx LPBC; -alias IBindCtx LPBINDCTX; - -interface IEnumMoniker : IUnknown -{ - HRESULT Next( ULONG celt, IMoniker * rgelt, ULONG *pceltFetched ); - HRESULT Skip( ULONG celt ); - HRESULT Reset(); - HRESULT Clone( IEnumMoniker * ppenum ); -} -alias IEnumMoniker LPENUMMONIKER; - -interface IRunnableObject : IUnknown -{ - HRESULT GetRunningClass( LPCLSID lpClsid ); - HRESULT Run( LPBINDCTX pbc ); - BOOL IsRunning(); - HRESULT LockRunning( BOOL fLock, BOOL fLastUnlockCloses ); - HRESULT SetContainedObject( BOOL fContained ); -} -alias IRunnableObject LPRUNNABLEOBJECT; - -interface IRunningObjectTable : IUnknown -{ - HRESULT Register( DWORD grfFlags, IUnknown punkObject, IMoniker pmkObjectName, DWORD *pdwRegister ); - HRESULT Revoke ( DWORD dwRegister ); - HRESULT IsRunning( IMoniker pmkObjectName ); - HRESULT GetObject( IMoniker pmkObjectName, IUnknown * ppunkObject ); - HRESULT NoteChangeTime( DWORD dwRegister, FILETIME *pfiletime ); - HRESULT GetTimeOfLastChange( IMoniker pmkObjectName, FILETIME *pfiletime ); - HRESULT EnumRunning( IEnumMoniker * ppenumMoniker ); -} -alias IRunningObjectTable LPRUNNINGOBJECTTABLE; - -interface IPersist : IUnknown -{ - HRESULT GetClassID( CLSID * pClassID ); -} -alias IPersist LPPERSIST; - -interface IPersistStream : IPersist -{ - HRESULT IsDirty( ); - HRESULT Load( IStream pStm ); - HRESULT Save( IStream pStm, BOOL fClearDirty ); - HRESULT GetSizeMax( ULARGE_INTEGER *pcbSize ); -} -alias IPersistStream LPPERSISTSTREAM; - - // system moniker types; returned from IsSystemMoniker. -enum MKSYS -{ - MKSYS_NONE = 0, - MKSYS_GENERICCOMPOSITE = 1, - MKSYS_FILEMONIKER = 2, - MKSYS_ANTIMONIKER = 3, - MKSYS_ITEMMONIKER = 4, - MKSYS_POINTERMONIKER = 5, - // MKSYS_URLMONIKER = 6, - MKSYS_CLASSMONIKER = 7 -} - -enum MKREDUCE -{ - MKRREDUCE_ONE = 3<<16, - MKRREDUCE_TOUSER = 2<<16, - MKRREDUCE_THROUGHUSER = 1<<16, - MKRREDUCE_ALL = 0 -} - -interface IMoniker : IPersistStream -{ - HRESULT BindToObject( IBindCtx pbc, IMoniker pmkToLeft, REFIID riidResult, void **ppvResult ); - HRESULT BindToStorage( IBindCtx pbc, IMoniker pmkToLeft, REFIID riid, void * ppvObj ); - HRESULT Reduce( IBindCtx pbc, DWORD dwReduceHowFar, IMoniker * ppmkToLeft, IMoniker * ppmkReduced ); - HRESULT ComposeWith( IMoniker pmkRight, BOOL fOnlyIfNotGeneric, IMoniker * ppmkComposite ); - HRESULT Enum( BOOL fForward, IEnumMoniker * ppenumMoniker ); - HRESULT IsEqual( IMoniker pmkOtherMoniker ); - HRESULT Hash( DWORD *pdwHash ); - HRESULT IsRunning( IBindCtx pbc, IMoniker pmkToLeft, IMoniker pmkNewlyRunning ); - HRESULT GetTimeOfLastChange( IBindCtx pbc, IMoniker pmkToLeft, FILETIME *pFileTime ); - HRESULT Inverse( IMoniker * ppmk ); - HRESULT CommonPrefixWith( IMoniker pmkOther, IMoniker * ppmkPrefix ); - HRESULT RelativePathTo( IMoniker pmkOther, IMoniker * ppmkRelPath ); - HRESULT GetDisplayName( IBindCtx pbc, IMoniker pmkToLeft, LPOLESTR *ppszDisplayName ); - HRESULT ParseDisplayName( IBindCtx pbc, IMoniker pmkToLeft, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker * ppmkOut ); - HRESULT IsSystemMoniker( DWORD * pdwMksys ); -} -alias IMoniker LPMONIKER; - -interface IROTData : IUnknown -{ - HRESULT GetComparisonData( byte * pbData, ULONG cbMax, ULONG *pcbData ); -} - -interface IEnumString : IUnknown -{ - HRESULT Next( ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched ); - HRESULT Skip( ULONG celt ); - HRESULT Reset(); - HRESULT Clone( IEnumString * ppenum ); -} -alias IEnumString LPENUMSTRING; - - -/**************************************************************************** - * Structured Storage Interfaces - ****************************************************************************/ - -interface ISequentialStream : IUnknown -{ - HRESULT Read( void *pv, ULONG cb, ULONG *pcbRead ); - HRESULT Write( void *pv, ULONG cb, ULONG *pcbWritten ); -} - - /* Storage stat buffer */ -struct STATSTG -{ - LPOLESTR pwcsName; - DWORD type; - ULARGE_INTEGER cbSize; - FILETIME mtime; - FILETIME ctime; - FILETIME atime; - DWORD grfMode; - DWORD grfLocksSupported; - CLSID clsid; - DWORD grfStateBits; - DWORD reserved; -} - - /* Storage element types */ -enum STGTY -{ - STGTY_STORAGE = 1, - STGTY_STREAM = 2, - STGTY_LOCKBYTES = 3, - STGTY_PROPERTY = 4 -} - -enum STREAM_SEEK -{ - STREAM_SEEK_SET = 0, - STREAM_SEEK_CUR = 1, - STREAM_SEEK_END = 2 -} - -enum LOCKTYPE -{ - LOCK_WRITE = 1, - LOCK_EXCLUSIVE = 2, - LOCK_ONLYONCE = 4 -} - -interface IStream : ISequentialStream -{ - HRESULT Seek( LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition ); - HRESULT SetSize( ULARGE_INTEGER libNewSize ); - HRESULT CopyTo( IStream pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten); - HRESULT Commit( DWORD grfCommitFlags ); - HRESULT Revert(); - HRESULT LockRegion( ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType ); - HRESULT UnlockRegion( ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType ); - HRESULT Stat( STATSTG *pstatstg, DWORD grfStatFlag); - HRESULT Clone( IStream * ppstm ); -} -alias IStream LPSTREAM; - -interface IEnumSTATSTG : IUnknown -{ - HRESULT Next( ULONG celt, STATSTG *rgelt, ULONG *pceltFetched ); - HRESULT Skip( ULONG celt ); - HRESULT Reset(); - HRESULT Clone( IEnumSTATSTG * ppenum ); -} -alias IEnumSTATSTG LPENUMSTATSTG; - -struct RemSNB -{ - ULONG ulCntStr; - ULONG ulCntChar; - OLECHAR rgString[]; -} -alias RemSNB * wireSNB; -alias OLECHAR ** SNB; - -interface IStorage : IUnknown -{ - HRESULT CreateStream( OLECHAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream * ppstm); - HRESULT OpenStream( OLECHAR *pwcsName, void *reserved1, DWORD grfMode, DWORD reserved2, IStream * ppstm); - HRESULT CreateStorage( OLECHAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStorage * ppstg); - HRESULT OpenStorage( OLECHAR *pwcsName, IStorage pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage * ppstg ); - HRESULT CopyTo( DWORD ciidExclude, IID *rgiidExclude, SNB snbExclude, IStorage pstgDest ); - HRESULT MoveElementTo( OLECHAR * pwcsName, IStorage pstgDest, OLECHAR *pwcsNewName, DWORD grfFlags ); - HRESULT Commit( DWORD grfCommitFlags ); - HRESULT Revert(); - HRESULT EnumElements( DWORD reserved1, void *reserved2, DWORD reserved3, IEnumSTATSTG * ppenum); - HRESULT DestroyElement( OLECHAR * pwcsName ); - HRESULT RenameElement( OLECHAR *pwcsOldName, OLECHAR *pwcsNewName ); - HRESULT SetElementTimes( OLECHAR * pwcsName, FILETIME * pctime, FILETIME *patime, FILETIME *pmtime ); - HRESULT SetClass( REFCLSID clsid ); - HRESULT SetStateBits( DWORD grfStateBits, DWORD grfMask ); - HRESULT Stat( STATSTG *pstatstg, DWORD grfStatFlag ); -} -alias IStorage LPSTORAGE; - -interface IPersistFile : IPersist -{ - HRESULT IsDirty(); - HRESULT Load(LPCOLESTR pszFileName,DWORD dwMode); - HRESULT Save(LPCOLESTR pszFileName,BOOL fRemember); - HRESULT SaveCompleted(LPCOLESTR pszFileName); - HRESULT GetCurFile(LPOLESTR *ppszFileName ); -} -alias IPersistFile LPPERSISTFILE; - -interface IPersistStorage : IPersist -{ - HRESULT IsDirty(); - HRESULT InitNew(IStorage pStg); - HRESULT Load(IStorage pStg); - HRESULT Save(IStorage pStgSave,BOOL fSameAsLoad); - HRESULT SaveCompleted(IStorage pStgNew); - HRESULT HandsOffStorage(); -} -alias IPersistStorage LPPERSISTSTORAGE; - -interface ILockBytes : IUnknown -{ - HRESULT ReadAt( -ULARGE_INTEGER ulOffset, -void *pv, -ULONG cb, -ULONG *pcbRead); - - HRESULT WriteAt( -ULARGE_INTEGER ulOffset, -void *pv, -ULONG cb, -ULONG *pcbWritten); - -HRESULT Flush(); - -HRESULT SetSize( -ULARGE_INTEGER cb); - - HRESULT LockRegion( -ULARGE_INTEGER libOffset, -ULARGE_INTEGER cb, -DWORD dwLockType); - - HRESULT UnlockRegion( -ULARGE_INTEGER libOffset, -ULARGE_INTEGER cb, -DWORD dwLockType); - - HRESULT Stat( -STATSTG *pstatstg, -DWORD grfStatFlag); -} -alias ILockBytes LPLOCKBYTES; - -struct DVTARGETDEVICE { - DWORD tdSize; - WORD tdDriverNameOffset; - WORD tdDeviceNameOffset; - WORD tdPortNameOffset; - WORD tdExtDevmodeOffset; -BYTE[1] tdData; -} - -typedef CLIPFORMAT LPCLIPFORMAT; - -struct FORMATETC { - CLIPFORMAT cfFormat; -DVTARGETDEVICE * ptd; - DWORD dwAspect; - LONG lindex; - DWORD tymed; -} -alias FORMATETC *LPFORMATETC; - -interface IEnumFORMATETC : IUnknown -{ - HRESULT Next( -ULONG celt, - FORMATETC *rgelt, -ULONG *pceltFetched); - - HRESULT Skip( -ULONG celt); - - HRESULT Reset(); - - HRESULT Clone( -IEnumFORMATETC * ppenum); -} -alias IEnumFORMATETC LPENUMFORMATETC; - - //Advise Flags -enum ADVF -{ - ADVF_NODATA = 1, - ADVF_PRIMEFIRST = 2, - ADVF_ONLYONCE = 4, - ADVF_DATAONSTOP = 64, - ADVFCACHE_NOHANDLER = 8, - ADVFCACHE_FORCEBUILTIN = 16, - ADVFCACHE_ONSAVE = 32 -} - - // Stats for data; used by several enumerations and by at least one - // implementation of IDataAdviseHolder; if a field is not used, it - // will be NULL. - -struct STATDATA -{ // field used by: - FORMATETC formatetc; // EnumAdvise, EnumData (cache), EnumFormats - DWORD advf; // EnumAdvise, EnumData (cache) - IAdviseSink pAdvSink; // EnumAdvise - DWORD dwConnection; // EnumAdvise -} -alias STATDATA * LPSTATDATA; - -interface IEnumSTATDATA : IUnknown -{ - HRESULT Next( -ULONG celt, - STATDATA *rgelt, -ULONG *pceltFetched); - - - HRESULT Skip( -ULONG celt); - - HRESULT Reset(); - - HRESULT Clone( -IEnumSTATDATA * ppenum); -} -alias IEnumSTATDATA LPENUMSTATDATA; - -interface IRootStorage : IUnknown -{ - HRESULT SwitchToFile( LPOLESTR pszFile ); -} -alias IRootStorage LPROOTSTORAGE; - - -/**************************************************************************** - * Notification Interfaces - ****************************************************************************/ - -enum TYMED { - TYMED_HGLOBAL = 1, - TYMED_FILE = 2, - TYMED_ISTREAM = 4, - TYMED_ISTORAGE = 8, - TYMED_GDI = 16, - TYMED_MFPICT = 32, - TYMED_ENHMF = 64, - TYMED_NULL = 0 -} - -struct RemSTGMEDIUM { - DWORD tymed; - DWORD dwHandleType; - ULONG pData; - ULONG pUnkForRelease; - ULONG cbData; - byte[1] data; -} - -union UNION_u { - HBITMAP hBitmap; - HMETAFILEPICT hMetaFilePict; - HENHMETAFILE hEnhMetaFile; - HGLOBAL hGlobal; - LPOLESTR lpszFileName; - IStream pstm; - IStorage pstg; -} -/* -struct uSTGMEDIUM { - DWORD tymed; - UNION_u u; - IUnknown pUnkForRelease; -} -*/ -// <Shawn Liu> modified -struct uSTGMEDIUM { - DWORD tymed; - void* unionField; - IUnknown pUnkForRelease; -} - - -enum { - OBJ_PEN =1, - OBJ_BRUSH =2, - OBJ_DC =3, - OBJ_METADC =4, - OBJ_PAL =5, - OBJ_FONT =6, - OBJ_BITMAP =7, - OBJ_REGION =8, - OBJ_METAFILE =9, - OBJ_MEMDC =10, - OBJ_EXTPEN =11, - OBJ_ENHMETADC =12, - OBJ_ENHMETAFILE =13 -} -union __MIDL_IAdviseSink_0002 -{ - wireHBITMAP hBitmap; - wireHPALETTE hPalette; - wireHGLOBAL hGeneric; -} - -struct GDI_OBJECT -{ - DWORD ObjectType; - __MIDL_IAdviseSink_0002 u; -} - -union __MIDL_IAdviseSink_0003 -{ - wireHMETAFILEPICT hMetaFilePict; - wireHENHMETAFILE hHEnhMetaFile; - GDI_OBJECT *hGdiHandle; - wireHGLOBAL hGlobal; - LPOLESTR lpszFileName; - BYTE_BLOB *pstm; - BYTE_BLOB *pstg; -} - -struct userSTGMEDIUM -{ - DWORD tymed; - __MIDL_IAdviseSink_0003 u; - IUnknown pUnkForRelease; -} - -alias userSTGMEDIUM *wireSTGMEDIUM; -alias uSTGMEDIUM STGMEDIUM; -alias userSTGMEDIUM *wireASYNC_STGMEDIUM; -alias STGMEDIUM ASYNC_STGMEDIUM; -alias STGMEDIUM *LPSTGMEDIUM; - -struct userFLAG_STGMEDIUM -{ - LONG ContextFlags; - LONG fPassOwnership; - userSTGMEDIUM Stgmed; -} - -alias userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM; - -struct FLAG_STGMEDIUM -{ - LONG ContextFlags; - LONG fPassOwnership; - STGMEDIUM Stgmed; -} - - -interface IAdviseSink : IUnknown -{ - void OnDataChange(FORMATETC *pFormatetc,STGMEDIUM *pStgmed); - void OnViewChange(DWORD dwAspect,LONG lindex); - void OnRename(IMoniker pmk); - void OnSave(); - void OnClose(); -} -alias IAdviseSink LPADVISESINK; - -interface IAdviseSink2 : IAdviseSink -{ - void OnLinkSrcChange( IMoniker pmk ); -} -alias IAdviseSink2 LPADVISESINK2; - - -enum DATADIR -{ - DATADIR_GET = 1, - DATADIR_SET = 2 -} - -interface IDataObject : IUnknown -{ - - HRESULT GetData( FORMATETC *pformatetcIn, STGMEDIUM *pmedium); - - HRESULT GetDataHere( FORMATETC *pformatetc, STGMEDIUM *pmedium); - - HRESULT QueryGetData( FORMATETC *pformatetc); - - HRESULT GetCanonicalFormatEtc( - FORMATETC *pformatectIn, - FORMATETC *pformatetcOut); - - HRESULT SetData( - FORMATETC *pformatetc, - STGMEDIUM *pmedium, - BOOL fRelease); - - HRESULT EnumFormatEtc( - DWORD dwDirection, - IEnumFORMATETC * ppenumFormatEtc); - - HRESULT DAdvise( - FORMATETC *pformatetc, - DWORD advf, - IAdviseSink pAdvSink, - DWORD *pdwConnection); - - HRESULT DUnadvise(DWORD dwConnection); - - HRESULT EnumDAdvise(IEnumSTATDATA * ppenumAdvise); - -} -alias IDataObject LPDATAOBJECT; - -interface IDataAdviseHolder : IUnknown -{ - HRESULT Advise - ( - IDataObject pDataObject, - FORMATETC *pFetc, - DWORD advf, - IAdviseSink pAdvise, - DWORD *pdwConnection - ); - - HRESULT Unadvise - ( - DWORD dwConnection - ); - - HRESULT EnumAdvise - ( -IEnumSTATDATA * ppenumAdvise - ); - - HRESULT SendOnDataChange - ( - IDataObject pDataObject, - DWORD dwReserved, - DWORD advf - ); - -} -alias IDataAdviseHolder LPDATAADVISEHOLDER; - - -// call type used by IMessageFilter::HandleIncomingMessage -enum CALLTYPE -{ - CALLTYPE_TOPLEVEL = 1, // toplevel call - no outgoing call - CALLTYPE_NESTED = 2, // callback on behalf of previous outgoing call - should always handle - CALLTYPE_ASYNC = 3, // aysnchronous call - can NOT be rejected - CALLTYPE_TOPLEVEL_CALLPENDING = 4, // new toplevel call with new LID - CALLTYPE_ASYNC_CALLPENDING = 5 // async call - can NOT be rejected -} - -// status of server call - returned by IMessageFilter::HandleIncomingCall -// and passed to IMessageFilter::RetryRejectedCall -enum SERVERCALL -{ - SERVERCALL_ISHANDLED = 0, - SERVERCALL_REJECTED = 1, - SERVERCALL_RETRYLATER = 2 -} - -// Pending type indicates the level of nesting -enum PENDINGTYPE -{ - PENDINGTYPE_TOPLEVEL = 1, // toplevel call - PENDINGTYPE_NESTED = 2 // nested call -} - -// return values of MessagePending -enum PENDINGMSG -{ - PENDINGMSG_CANCELCALL = 0, // cancel the outgoing call - PENDINGMSG_WAITNOPROCESS = 1, // wait for the return and don't dispatch the message - PENDINGMSG_WAITDEFPROCESS = 2 // wait and dispatch the message - -} - -// additional interface information about the incoming call -struct INTERFACEINFO -{ - IUnknown pUnk; // the pointer to the object - IID iid; // interface id - WORD wMethod; // interface method -} -alias INTERFACEINFO *LPINTERFACEINFO; - - -interface IMessageFilter : IUnknown -{ - - DWORD HandleInComingCall - ( -DWORD dwCallType, -HTASK htaskCaller, -DWORD dwTickCount, -LPINTERFACEINFO lpInterfaceInfo - ); - - DWORD RetryRejectedCall - ( -HTASK htaskCallee, -DWORD dwTickCount, -DWORD dwRejectType - ); - - DWORD MessagePending - ( -HTASK htaskCallee, -DWORD dwTickCount, -DWORD dwPendingType - ); -} -alias IMessageFilter LPMESSAGEFILTER; - - - -/**************************************************************************** - * Object Remoting Interfaces - ****************************************************************************/ -/* -interface IRpcChannelBuffer : IUnknown -{ - - typedef unsigned long RPCOLEDATAREP; - - typedef struct tagRPCOLEMESSAGE - { - void *reserved1; - RPCOLEDATAREP dataRepresentation; - void *Buffer; - ULONG cbBuffer; - ULONG iMethod; - void *reserved2[5]; - ULONG rpcFlags; - } RPCOLEMESSAGE; - - typedef RPCOLEMESSAGE *PRPCOLEMESSAGE; - - HRESULT GetBuffer - ( - [in] RPCOLEMESSAGE *pMessage, - [in] REFIID riid - ); - - HRESULT SendReceive - ( - [in,out] RPCOLEMESSAGE *pMessage, - [out] ULONG *pStatus - ); - - HRESULT FreeBuffer - ( - [in] RPCOLEMESSAGE *pMessage - ); - - HRESULT GetDestCtx - ( - [out] DWORD *pdwDestContext, - [out] void **ppvDestContext - ); - - HRESULT IsConnected - ( - void - ); - -} - -[ - local, - object, - uuid(594f31d0-7f19-11d0-b194-00a0c90dc8bf) -] -interface IRpcChannelBuffer2 : IRpcChannelBuffer -{ - - HRESULT GetProtocolVersion - ( - [in,out] DWORD *pdwVersion - ); -} - -[ - local, - object, - uuid(25B15600-0115-11d0-BF0D-00AA00B8DFD2) -] -interface IRpcChannelBuffer3 : IRpcChannelBuffer2 -{ - - HRESULT Send - ( - [in,out] RPCOLEMESSAGE *pMsg, - [out] ULONG *pulStatus - ); - - HRESULT Receive - ( - [in,out] RPCOLEMESSAGE *pMsg, - [in] ULONG ulSize, - [out] ULONG *pulStatus - ); - - HRESULT Cancel - ( - [in] RPCOLEMESSAGE *pMsg - ); - - HRESULT GetCallContext - ( - [in] RPCOLEMESSAGE *pMsg, - [in] REFIID riid, - [out] void **pInterface - ); - - HRESULT GetDestCtxEx - ( - [in] RPCOLEMESSAGE *pMsg, - [out] DWORD *pdwDestContext, - [out] void **ppvDestContext - ); - - HRESULT GetState - ( - [in] RPCOLEMESSAGE *pMsg, - [out] DWORD *pState - ); - - HRESULT RegisterAsync - ( - [in] RPCOLEMESSAGE *pMsg, - [in] IAsyncManager *pAsyncMgr - ); - -} - - -[ - local, - object, - uuid(D5F56A34-593B-101A-B569-08002B2DBF7A) -] -interface IRpcProxyBuffer : IUnknown -{ - - HRESULT Connect - ( - [in, unique] IRpcChannelBuffer *pRpcChannelBuffer - ); - - void Disconnect - ( - void - ); - -} - -[ - local, - object, - uuid(D5F56AFC-593B-101A-B569-08002B2DBF7A) -] -interface IRpcStubBuffer : IUnknown -{ - - HRESULT Connect - ( - [in] IUnknown *pUnkServer - ); - - void Disconnect(); - - HRESULT Invoke - ( - [in] RPCOLEMESSAGE *_prpcmsg, - [in] IRpcChannelBuffer *_pRpcChannelBuffer - ); - - IRpcStubBuffer *IsIIDSupported - ( - [in] REFIID riid - ); - - ULONG CountRefs - ( - void - ); - - HRESULT DebugServerQueryInterface - ( - void **ppv - ); - - void DebugServerRelease - ( - void *pv - ); - -} - - - -[ - local, - object, - uuid(D5F569D0-593B-101A-B569-08002B2DBF7A) -] -interface IPSFactoryBuffer : IUnknown -{ - - HRESULT CreateProxy - ( - [in] IUnknown *pUnkOuter, - [in] REFIID riid, - [out] IRpcProxyBuffer **ppProxy, - [out] void **ppv - ); - - HRESULT CreateStub - ( - [in] REFIID riid, - [in, unique] IUnknown *pUnkServer, - [out] IRpcStubBuffer **ppStub - ); -} - -cpp_quote( "#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM" ) -cpp_quote( "// This interface is only valid on Windows NT 4.0" ) - -// This structure contains additional data for hooks. As a backward -// compatability hack, the entire structure is passed in place of the -// RIID parameter on all hook methods. Thus the IID must be the first -// parameter. As a forward compatability hack the second field is the -// current size of the structure. -typedef struct SChannelHookCallInfo -{ - IID iid; - DWORD cbSize; - GUID uCausality; - DWORD dwServerPid; - DWORD iMethod; - void *pObject; -} SChannelHookCallInfo; - -[ - local, - object, - uuid(1008c4a0-7613-11cf-9af1-0020af6e72f4) -] -interface IChannelHook : IUnknown -{ - void ClientGetSize( - [in] REFGUID uExtent, - [in] REFIID riid, - [out] ULONG *pDataSize ); - - void ClientFillBuffer( - [in] REFGUID uExtent, - [in] REFIID riid, - [in, out] ULONG *pDataSize, - [in] void *pDataBuffer ); - - void ClientNotify( - [in] REFGUID uExtent, - [in] REFIID riid, - [in] ULONG cbDataSize, - [in] void *pDataBuffer, - [in] DWORD lDataRep, - [in] HRESULT hrFault ); - - void ServerNotify( - [in] REFGUID uExtent, - [in] REFIID riid, - [in] ULONG cbDataSize, - [in] void *pDataBuffer, - [in] DWORD lDataRep ); - - void ServerGetSize( - [in] REFGUID uExtent, - [in] REFIID riid, - [in] HRESULT hrFault, - [out] ULONG *pDataSize ); - - void ServerFillBuffer( - [in] REFGUID uExtent, - [in] REFIID riid, - [in, out] ULONG *pDataSize, - [in] void *pDataBuffer, - [in] HRESULT hrFault ); -}; - -cpp_quote( "#endif //DCOM" ) -*/ - -/**************************************************************************** - * Property Storage Interfaces - ****************************************************************************/ - - /* -interface IPropertyStorage; -interface IEnumSTATPROPSTG; -interface IEnumSTATPROPSETSTG; - -[ - object, - uuid(00000138-0000-0000-C000-000000000046), - pointer_default(unique) -] - -interface IPropertyStorage : IUnknown -{ - - cpp_quote("") - cpp_quote("// Well-known Property Set Format IDs") - extern const FMTID FMTID_SummaryInformation; - extern const FMTID FMTID_DocSummaryInformation; - extern const FMTID FMTID_UserDefinedProperties; - - cpp_quote("") - cpp_quote("// Flags for IPropertySetStorage::Create") - const DWORD PROPSETFLAG_DEFAULT = 0; - const DWORD PROPSETFLAG_NONSIMPLE = 1; - const DWORD PROPSETFLAG_ANSI = 2; - cpp_quote("// This flag is only supported on StgCreatePropStg & StgOpenPropStg") - const DWORD PROPSETFLAG_UNBUFFERED = 4; - - typedef [unique] IPropertyStorage * LPPROPERTYSTORAGE; - - typedef struct tagPROPVARIANT PROPVARIANT; - - #define TYPEDEF_CA(type, name) \ - typedef struct tag##name\ - {\ - ULONG cElems;\ - [size_is( cElems )]\ - type * pElems;\ - } name - - TYPEDEF_CA(unsigned char, CAUB); - TYPEDEF_CA(short, CAI); - TYPEDEF_CA(USHORT, CAUI); - TYPEDEF_CA(long, CAL); - TYPEDEF_CA(ULONG, CAUL); - TYPEDEF_CA(float, CAFLT); - TYPEDEF_CA(double, CADBL); - TYPEDEF_CA(CY, CACY); - TYPEDEF_CA(DATE, CADATE); - TYPEDEF_CA(BSTR, CABSTR); - TYPEDEF_CA(BSTRBLOB, CABSTRBLOB); - TYPEDEF_CA(VARIANT_BOOL, CABOOL); - TYPEDEF_CA(SCODE, CASCODE); - TYPEDEF_CA(PROPVARIANT, CAPROPVARIANT); - TYPEDEF_CA(LARGE_INTEGER, CAH); - TYPEDEF_CA(ULARGE_INTEGER, CAUH); - TYPEDEF_CA(LPSTR, CALPSTR); - TYPEDEF_CA(LPWSTR, CALPWSTR); - TYPEDEF_CA(FILETIME, CAFILETIME); - TYPEDEF_CA(CLIPDATA, CACLIPDATA); - TYPEDEF_CA(CLSID, CACLSID); - -cpp_quote("// Disable the warning about the obsolete member named 'bool'") -cpp_quote("// 'bool', 'true', 'false', 'mutable', 'explicit', & 'typename'") -cpp_quote("// are reserved keywords") -cpp_quote("#pragma warning(disable:4237)") - - struct tagPROPVARIANT - { - VARTYPE vt; - WORD wReserved1; - WORD wReserved2; - WORD wReserved3; - [switch_is((unsigned short) (vt & 0x1fff))] union - { - [case(VT_EMPTY, VT_NULL)] - ; - [case(VT_UI1)] - UCHAR bVal; - [case(VT_I2)] - short iVal; - [case(VT_UI2)] - USHORT uiVal; - [case(VT_BOOL)] - VARIANT_BOOL boolVal; - [case(VT_ILLEGAL)] // obsolete field name; use boolVal - _VARIANT_BOOL bool; - [case(VT_I4)] - long lVal; - [case(VT_UI4)] - ULONG ulVal; - [case(VT_R4)] - float fltVal; - [case(VT_ERROR)] - SCODE scode; - [case(VT_I8)] - LARGE_INTEGER hVal; - [case(VT_UI8)] - ULARGE_INTEGER uhVal; - [case(VT_R8)] - double dblVal; - [case(VT_CY)] - CY cyVal; - [case(VT_DATE)] - DATE date; - [case(VT_FILETIME)] - FILETIME filetime; - [case(VT_CLSID)] - CLSID * puuid; - [case(VT_BLOB, VT_BLOB_OBJECT)] - BLOB blob; - [case(VT_CF)] - CLIPDATA *pclipdata; - [case(VT_STREAM, VT_STREAMED_OBJECT)] - IStream * pStream; - [case(VT_STORAGE, VT_STORED_OBJECT)] - IStorage * pStorage; - [case(VT_BSTR)] - BSTR bstrVal; - [case(VT_BSTR_BLOB)] // System use only - BSTRBLOB bstrblobVal; - [case(VT_LPSTR)] - LPSTR pszVal; - [case(VT_LPWSTR)] - LPWSTR pwszVal; - [case(VT_UI1|VT_VECTOR)] - CAUB caub; - [case(VT_I2|VT_VECTOR)] - CAI cai; - [case(VT_UI2|VT_VECTOR)] - CAUI caui; - [case(VT_BOOL|VT_VECTOR)] - CABOOL cabool; - [case(VT_I4|VT_VECTOR)] - CAL cal; - [case(VT_UI4|VT_VECTOR)] - CAUL caul; - [case(VT_R4|VT_VECTOR)] - CAFLT caflt; - [case(VT_ERROR|VT_VECTOR)] - CASCODE cascode; - [case(VT_I8|VT_VECTOR)] - CAH cah; - [case(VT_UI8|VT_VECTOR)] - CAUH cauh; - [case(VT_R8|VT_VECTOR)] - CADBL cadbl; - [case(VT_CY|VT_VECTOR)] - CACY cacy; - [case(VT_DATE|VT_VECTOR)] - CADATE cadate; - [case(VT_FILETIME|VT_VECTOR)] - CAFILETIME cafiletime; - [case(VT_CLSID|VT_VECTOR)] - CACLSID cauuid; - [case(VT_CF|VT_VECTOR)] - CACLIPDATA caclipdata; - [case(VT_BSTR|VT_VECTOR)] - CABSTR cabstr; - [case(VT_BSTR_BLOB|VT_VECTOR)] // System use only - CABSTRBLOB cabstrblob; - [case(VT_LPSTR|VT_VECTOR)] - CALPSTR calpstr; - [case(VT_LPWSTR|VT_VECTOR)] - CALPWSTR calpwstr; - [case(VT_VARIANT|VT_VECTOR)] - CAPROPVARIANT capropvar; - }; - }; - - typedef struct tagPROPVARIANT * LPPROPVARIANT; - - cpp_quote("// Reserved global Property IDs") - const PROPID PID_DICTIONARY = 0x00000000; - const PROPID PID_CODEPAGE = 0x00000001; - const PROPID PID_FIRST_USABLE = 0x00000002; - const PROPID PID_FIRST_NAME_DEFAULT = 0x00000fff; - const PROPID PID_LOCALE = 0x80000000; - const PROPID PID_MODIFY_TIME = 0x80000001; - const PROPID PID_SECURITY = 0x80000002; - const PROPID PID_ILLEGAL = 0xffffffff; - - - cpp_quote("// Property IDs for the SummaryInformation Property Set") - cpp_quote("") - cpp_quote("#define PIDSI_TITLE 0x00000002L // VT_LPSTR") - cpp_quote("#define PIDSI_SUBJECT 0x00000003L // VT_LPSTR") - cpp_quote("#define PIDSI_AUTHOR 0x00000004L // VT_LPSTR") - cpp_quote("#define PIDSI_KEYWORDS 0x00000005L // VT_LPSTR") - cpp_quote("#define PIDSI_COMMENTS 0x00000006L // VT_LPSTR") - cpp_quote("#define PIDSI_TEMPLATE 0x00000007L // VT_LPSTR") - cpp_quote("#define PIDSI_LASTAUTHOR 0x00000008L // VT_LPSTR") - cpp_quote("#define PIDSI_REVNUMBER 0x00000009L // VT_LPSTR") - cpp_quote("#define PIDSI_EDITTIME 0x0000000aL // VT_FILETIME (UTC)") - cpp_quote("#define PIDSI_LASTPRINTED 0x0000000bL // VT_FILETIME (UTC)") - cpp_quote("#define PIDSI_CREATE_DTM 0x0000000cL // VT_FILETIME (UTC)") - cpp_quote("#define PIDSI_LASTSAVE_DTM 0x0000000dL // VT_FILETIME (UTC)") - cpp_quote("#define PIDSI_PAGECOUNT 0x0000000eL // VT_I4") - cpp_quote("#define PIDSI_WORDCOUNT 0x0000000fL // VT_I4") - cpp_quote("#define PIDSI_CHARCOUNT 0x00000010L // VT_I4") - cpp_quote("#define PIDSI_THUMBNAIL 0x00000011L // VT_CF") - cpp_quote("#define PIDSI_APPNAME 0x00000012L // VT_LPSTR") - cpp_quote("#define PIDSI_DOC_SECURITY 0x00000013L // VT_I4") - - const ULONG PRSPEC_INVALID = 0xffffffff; - const ULONG PRSPEC_LPWSTR = 0; - const ULONG PRSPEC_PROPID = 1; - - typedef struct tagPROPSPEC - { - - ULONG ulKind; - [switch_is(ulKind)] union - { - [case(PRSPEC_PROPID)] - PROPID propid; - [case(PRSPEC_LPWSTR)] - LPOLESTR lpwstr; - [default] ; - } ; - - } PROPSPEC; - - typedef struct tagSTATPROPSTG - { - - LPOLESTR lpwstrName; - PROPID propid; - VARTYPE vt; - - } STATPROPSTG; - - cpp_quote("// Macros for parsing the OS Version of the Property Set Header") - cpp_quote("#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD( (dwOSVer) )") - cpp_quote("#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD( (dwOSVer) ))") - cpp_quote("#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD( (dwOSVer) ))") - cpp_quote("#define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF") - - - typedef struct tagSTATPROPSETSTG - { - - FMTID fmtid; - CLSID clsid; - DWORD grfFlags; - FILETIME mtime; - FILETIME ctime; - FILETIME atime; - DWORD dwOSVersion; - - } STATPROPSETSTG; - - - // When this IDL file is used for "IProp.dll" (the - // standalone property set DLL), we must have local - // and remotable routines (call_as routines are used - // to remove BSTRs, which are not remotable with some - // RPC run-times). - // - // For the remotable routines, we must use pointer - // parameters (e.g. "*rgspec" rather than "rgspec[]") - // so that the MIDL 2.0 compiler will generate an - // interpereted proxy/stub, rather than inline. - -#ifdef IPROPERTY_DLL - [local] -#endif - HRESULT ReadMultiple( - [in] ULONG cpspec, - [in, size_is(cpspec)] - const PROPSPEC rgpspec[], - [out, size_is(cpspec)] - PROPVARIANT rgpropvar[] - ); - -#ifdef IPROPERTY_DLL - [call_as(ReadMultiple)] - HRESULT RemoteReadMultiple( - [out] BOOL *pfBstrPresent, - [in] ULONG cpspec, - [in, size_is(cpspec)] - const PROPSPEC *rgpspec, - [out, size_is(cpspec)] - PROPVARIANT *rgpropvar - ); -#endif - -#ifdef IPROPERTY_DLL - [local] -#endif - HRESULT WriteMultiple( - [in] ULONG cpspec, - [in, size_is(cpspec)] - const PROPSPEC rgpspec[], - [in, size_is(cpspec)] - const PROPVARIANT rgpropvar[], - [in] PROPID propidNameFirst - ); - -#ifdef IPROPERTY_DLL - [call_as(WriteMultiple)] - HRESULT RemoteWriteMultiple( - [in] BOOL fBstrPresent, - [in] ULONG cpspec, - [in, size_is(cpspec)] - const PROPSPEC *rgpspec, - [in, size_is(cpspec)] - const PROPVARIANT *rgpropvar, - [in] PROPID propidNameFirst - ); -#endif - -#ifdef IPROPERTY_DLL - [local] -#endif - HRESULT DeleteMultiple( - [in] ULONG cpspec, - [in, size_is(cpspec)] - const PROPSPEC rgpspec[] - ); - -#ifdef IPROPERTY_DLL - [call_as(DeleteMultiple)] - HRESULT RemoteDeleteMultiple( - [in] ULONG cpspec, - [in, size_is(cpspec)] - const PROPSPEC *rgpspec - ); -#endif - - HRESULT ReadPropertyNames( - [in] ULONG cpropid, - [in, size_is(cpropid)] - const PROPID rgpropid[], - [out, size_is(cpropid)] - LPOLESTR rglpwstrName[] - ); - - HRESULT WritePropertyNames( - [in] ULONG cpropid, - [in, size_is(cpropid)] - const PROPID rgpropid[], - [in, size_is(cpropid)] - const LPOLESTR rglpwstrName[] - ); - - HRESULT DeletePropertyNames( - [in] ULONG cpropid, - [in, size_is(cpropid)] - const PROPID rgpropid[] - ); - - HRESULT Commit( - [in] DWORD grfCommitFlags - ); - - HRESULT Revert(); - - HRESULT Enum( - [out] IEnumSTATPROPSTG ** ppenum - ); - - HRESULT SetTimes( - [in] FILETIME const * pctime, - [in] FILETIME const * patime, - [in] FILETIME const * pmtime - ); - - HRESULT SetClass( - [in] REFCLSID clsid - ); - - HRESULT Stat( - [out] STATPROPSETSTG * pstatpsstg - ); -} - -[ - object, - uuid(0000013A-0000-0000-C000-000000000046), - pointer_default(unique) -] - -interface IPropertySetStorage : IUnknown -{ - - typedef [unique] IPropertySetStorage * LPPROPERTYSETSTORAGE; - - HRESULT Create( - [in] REFFMTID rfmtid, - [in, unique] - const CLSID * pclsid, - [in] DWORD grfFlags, - [in] DWORD grfMode, - [out] IPropertyStorage ** ppprstg - ); - - HRESULT Open( - [in] REFFMTID rfmtid, - [in] DWORD grfMode, - [out] IPropertyStorage ** ppprstg - ); - - HRESULT Delete( - [in] REFFMTID rfmtid - ); - - HRESULT Enum( - [out] IEnumSTATPROPSETSTG ** ppenum - ); - -} - - -[ - object, - uuid(00000139-0000-0000-C000-000000000046), - pointer_default(unique) -] - -interface IEnumSTATPROPSTG : IUnknown -{ - - typedef [unique] IEnumSTATPROPSTG * LPENUMSTATPROPSTG; - - [local] - HRESULT Next( - [in] ULONG celt, - [out, size_is(celt), length_is(*pceltFetched)] - STATPROPSTG * rgelt, - [out] ULONG * pceltFetched - ); - - [call_as(Next)] - HRESULT RemoteNext( - [in] ULONG celt, - [out, size_is(celt), length_is(*pceltFetched)] - STATPROPSTG * rgelt, - [out] ULONG * pceltFetched - ); - - HRESULT Skip( - [in] ULONG celt - ); - - HRESULT Reset(); - - HRESULT Clone( - [out] IEnumSTATPROPSTG ** ppenum - ); -} - - -[ - object, - uuid(0000013B-0000-0000-C000-000000000046), - pointer_default(unique) -] - -interface IEnumSTATPROPSETSTG : IUnknown -{ - - typedef [unique] IEnumSTATPROPSETSTG * LPENUMSTATPROPSETSTG; - - [local] - HRESULT Next( - [in] ULONG celt, - [out, size_is(celt), length_is(*pceltFetched)] - STATPROPSETSTG * rgelt, - [out] ULONG * pceltFetched - ); - - [call_as(Next)] - HRESULT RemoteNext( - [in] ULONG celt, - [out, size_is(celt), length_is(*pceltFetched)] - STATPROPSETSTG * rgelt, - [out] ULONG * pceltFetched - ); - - HRESULT Skip( - [in] ULONG celt - ); - - HRESULT Reset(); - - HRESULT Clone( - [out] IEnumSTATPROPSETSTG ** ppenum - ); -} - - -cpp_quote("WINOLEAPI PropVariantCopy ( PROPVARIANT * pvarDest, const PROPVARIANT * pvarSrc );") -cpp_quote("WINOLEAPI PropVariantClear ( PROPVARIANT * pvar );") -cpp_quote("WINOLEAPI FreePropVariantArray ( ULONG cVariants, PROPVARIANT * rgvars );") - -cpp_quote("") -cpp_quote("#define _PROPVARIANTINIT_DEFINED_") -cpp_quote("# ifdef __cplusplus") -cpp_quote("inline void PropVariantInit ( PROPVARIANT * pvar )") -cpp_quote("{") -cpp_quote(" memset ( pvar, 0, sizeof(PROPVARIANT) );") -cpp_quote("}") -cpp_quote("# else") -cpp_quote("# define PropVariantInit(pvar) memset ( pvar, 0, sizeof(PROPVARIANT) )") -cpp_quote("# endif") -cpp_quote("") - -cpp_quote("") -cpp_quote("#ifndef _STGCREATEPROPSTG_DEFINED_") -cpp_quote("WINOLEAPI StgCreatePropStg( IUnknown* pUnk, REFFMTID fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );") -cpp_quote("WINOLEAPI StgOpenPropStg( IUnknown* pUnk, REFFMTID fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );") -cpp_quote("WINOLEAPI StgCreatePropSetStg( IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);") - -cpp_quote("") -cpp_quote("#define CCH_MAX_PROPSTG_NAME 31") -cpp_quote("WINOLEAPI FmtIdToPropStgName( const FMTID *pfmtid, LPOLESTR oszName );" ) -cpp_quote("WINOLEAPI PropStgNameToFmtId( const LPOLESTR oszName, FMTID *pfmtid );" ) -cpp_quote("#endif") - - */ - -/**************************************************************************** - * Connection Point Interfaces - ****************************************************************************/ - /* -#ifdef __INCLUDE_CPIFS -interface IConnectionPointContainer; -interface IConnectionPoint; -interface IEnumConnections; -interface IEnumConnectionPoints; - -[ - object, - uuid(B196B286-BAB4-101A-B69C-00AA00341D07), - pointer_default(unique) -] -interface IConnectionPoint : IUnknown -{ - typedef IConnectionPoint * PCONNECTIONPOINT; - typedef IConnectionPoint * LPCONNECTIONPOINT; - - HRESULT GetConnectionInterface - ( - [out] IID * piid - ); - - HRESULT GetConnectionPointContainer - ( - [out] IConnectionPointContainer ** ppCPC - ); - - HRESULT Advise - ( - [in] IUnknown * pUnkSink, - [out] DWORD * pdwCookie - ); - - HRESULT Unadvise - ( - [in] DWORD dwCookie - ); - - HRESULT EnumConnections - ( - [out] IEnumConnections ** ppEnum - ); -} - -[ - object, - uuid(B196B284-BAB4-101A-B69C-00AA00341D07), - pointer_default(unique) -] -interface IConnectionPointContainer : IUnknown -{ - typedef IConnectionPointContainer * PCONNECTIONPOINTCONTAINER; - typedef IConnectionPointContainer * LPCONNECTIONPOINTCONTAINER; - - HRESULT EnumConnectionPoints - ( - [out] IEnumConnectionPoints ** ppEnum - ); - - HRESULT FindConnectionPoint - ( - [in] REFIID riid, - [out] IConnectionPoint ** ppCP - ); -} - - -[ - object, - uuid(B196B287-BAB4-101A-B69C-00AA00341D07), - pointer_default(unique) -] -interface IEnumConnections : IUnknown -{ - typedef IEnumConnections * PENUMCONNECTIONS; - typedef IEnumConnections * LPENUMCONNECTIONS; - - typedef struct tagCONNECTDATA - { - IUnknown * pUnk; - DWORD dwCookie; - } CONNECTDATA; - - typedef struct tagCONNECTDATA * PCONNECTDATA; - typedef struct tagCONNECTDATA * LPCONNECTDATA; - - [local] - HRESULT Next( - [in] ULONG cConnections, - [out, - size_is(cConnections), - length_is(*lpcFetched)] CONNECTDATA * rgcd, - [out] ULONG * lpcFetched - ); - - [call_as(Next)] - HRESULT RemoteNext( - [in] ULONG cConnections, - [out, - size_is(cConnections), - length_is(*lpcFetched)] CONNECTDATA * rgcd, - [out] ULONG * lpcFetched - ); - - HRESULT Skip - ( - [in] ULONG cConnections - ); - - HRESULT Reset - ( - void - ); - - HRESULT Clone - ( - [out] IEnumConnections ** ppEnum - ); -} - - -[ - object, - uuid(B196B285-BAB4-101A-B69C-00AA00341D07), - pointer_default(unique) -] -interface IEnumConnectionPoints : IUnknown -{ - typedef IEnumConnectionPoints * PENUMCONNECTIONPOINTS; - typedef IEnumConnectionPoints * LPENUMCONNECTIONPOINTS; - - [local] - HRESULT Next( - [in] ULONG cConnections, - [out, - size_is(cConnections), - length_is(*lpcFetched)] IConnectionPoint ** rgpcn, - [out] ULONG * lpcFetched - ); - - [call_as(Next)] - HRESULT RemoteNext( - [in] ULONG cConnections, - [out, - size_is(cConnections), - length_is(*lpcFetched)] IConnectionPoint ** rgpcn, - [out] ULONG * lpcFetched - ); - - HRESULT Skip - ( - [in] ULONG cConnections - ); - - HRESULT Reset - ( - void - ); - - HRESULT Clone - ( - [out] IEnumConnectionPoints ** ppEnum - ); -} -#endif // __INCLUDE_CPIFS - - -cpp_quote( "#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM" ) -cpp_quote( "// This interface is only valid on Windows NT 4.0" ) - -[ - local, - object, - uuid(0000013D-0000-0000-C000-000000000046) -] -interface IClientSecurity : IUnknown -{ - - typedef struct tagSOLE_AUTHENTICATION_SERVICE - { - DWORD dwAuthnSvc; - DWORD dwAuthzSvc; - OLECHAR *pPrincipalName; - HRESULT hr; - } SOLE_AUTHENTICATION_SERVICE; - - typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE; - - typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES - { - EOAC_NONE = 0x0, - EOAC_MUTUAL_AUTH = 0x1, - EOAC_CLOAKING = 0x10, - - // These are only valid for CoInitializeSecurity - EOAC_SECURE_REFS = 0x2, - EOAC_ACCESS_CONTROL = 0x4, - EOAC_APPID = 0x8 - } EOLE_AUTHENTICATION_CAPABILITIES; - - HRESULT QueryBlanket - ( - [in] IUnknown *pProxy, - [out] DWORD *pAuthnSvc, - [out] DWORD *pAuthzSvc, - [out] OLECHAR **pServerPrincName, - [out] DWORD *pAuthnLevel, - [out] DWORD *pImpLevel, - [out] void **pAuthInfo, - [out] DWORD *pCapabilites - ); - - HRESULT SetBlanket - ( - [in] IUnknown *pProxy, - [in] DWORD AuthnSvc, - [in] DWORD AuthzSvc, - [in] OLECHAR *pServerPrincName, - [in] DWORD AuthnLevel, - [in] DWORD ImpLevel, - [in] void *pAuthInfo, - [in] DWORD Capabilities - ); - - HRESULT CopyProxy - ( - [in] IUnknown *pProxy, - [out] IUnknown **ppCopy - ); -} - -[ - local, - object, - uuid(0000013E-0000-0000-C000-000000000046) -] -interface IServerSecurity : IUnknown -{ - HRESULT QueryBlanket - ( - [out] DWORD *pAuthnSvc, - [out] DWORD *pAuthzSvc, - [out] OLECHAR **pServerPrincName, - [out] DWORD *pAuthnLevel, - [out] DWORD *pImpLevel, - [out] void **pPrivs, - [out] DWORD *pCapabilities - ); - - HRESULT ImpersonateClient(); - - HRESULT RevertToSelf(); - - BOOL IsImpersonating(); -} - -[ - object, - uuid(00000140-0000-0000-C000-000000000046) -] - -interface IClassActivator : IUnknown -{ - HRESULT GetClassObject( - [in] REFCLSID rclsid, - [in] DWORD dwClassContext, - [in] LCID locale, - [in] REFIID riid, - [out, iid_is(riid)] void **ppv); -} - - -[ -object, -local, -uuid(00000144-0000-0000-C000-000000000046), -oleautomation -] -interface IRpcOptions : IUnknown -{ - HRESULT Set([in] IUnknown * pPrx, - [in] DWORD dwProperty, - [in] DWORD dwValue); - - HRESULT Query([in] IUnknown * pPrx, - [in] DWORD dwProperty, - [out] DWORD * pdwValue); - - HRESULT CopyProxy([in] IUnknown * punkProxy, - [out] IUnknown ** ppunkCopy); -} - -enum {COMBND_RPCSTRINGS = 0x01}; // flag indicating arBndInfo is the - // Rpc string bindings to be used. - -[ -object, -local, -uuid(00000148-0000-0000-C000-000000000046) -] -interface IComBinding : IUnknown -{ - HRESULT InitBinding([in] DWORD dwEndpointFlags, - [in] DWORD dwNICFlags, - [in] DWORD mbzReserved1, - [in] DWORD mbzReserved2, - [in] LPOLESTR pszBinding - ); - - HRESULT QueryBinding([out] LPDWORD pdwEndpointFlags, - [out] LPDWORD pdwNICFlags, - [out] LPDWORD mbzReserved1, - [out] LPDWORD mbzReserved2, - [out] LPOLESTR *ppszBinding - ); - - -} - - - - -cpp_quote( "#endif //DCOM" ) - - -[ - object, - uuid(99caf010-415e-11cf-8814-00aa00b569f5), - pointer_default(unique) -] - -interface IFillLockBytes: IUnknown -{ - [local] - HRESULT FillAppend - ( - [in, size_is(cb)] void const *pv, - [in] ULONG cb, - [out] ULONG *pcbWritten - ); - - [call_as(FillAppend)] - HRESULT _stdcall RemoteFillAppend( - [in, size_is(cb)] byte const *pv, - [in] ULONG cb, - [out] ULONG *pcbWritten); - - [local] - HRESULT FillAt - ( - [in] ULARGE_INTEGER ulOffset, - [in, size_is(cb)] void const *pv, - [in] ULONG cb, - [out] ULONG *pcbWritten - ); - - [call_as(FillAt)] - HRESULT _stdcall RemoteFillAt( - [in] ULARGE_INTEGER ulOffset, - [in, size_is(cb)] byte const *pv, - [in] ULONG cb, - [out] ULONG *pcbWritten); - - HRESULT SetFillSize - ( - [in] ULARGE_INTEGER ulSize - ); - - HRESULT Terminate - ( - [in] BOOL bCanceled - ); -} - - -[ - object, - uuid(a9d758a0-4617-11cf-95fc-00aa00680db4), - pointer_default(unique) -] - -interface IProgressNotify: IUnknown -{ - HRESULT OnProgress - ( - [in] DWORD dwProgressCurrent, - [in] DWORD dwProgressMaximum, - [in] BOOL fAccurate, - [in] BOOL fOwner - ); -} - - -[ - local, - object, - uuid(0e6d4d90-6738-11cf-9608-00aa00680db4), - pointer_default(unique) -] - -interface ILayoutStorage: IUnknown -{ - typedef struct tagStorageLayout - { - DWORD LayoutType; - OLECHAR *pwcsElementName; - LARGE_INTEGER cOffset; - LARGE_INTEGER cBytes; - } StorageLayout; - - HRESULT __stdcall LayoutScript - ( - [in] StorageLayout *pStorageLayout, - [in] DWORD nEntries, - [in] DWORD glfInterleavedFlag - ); - HRESULT __stdcall BeginMonitor(void); - - HRESULT __stdcall EndMonitor(void); - - HRESULT __stdcall ReLayoutDocfile - ( - [in] OLECHAR *pwcsNewDfName - ); - - HRESULT __stdcall ReLayoutDocfileOnILockBytes - ( - [in] ILockBytes *pILockBytes - ); - - -} - -[ - uuid(00000022-0000-0000-C000-000000000046), - version(1.0), - pointer_default(unique) - , object -] - -interface ISurrogate : IUnknown -{ - typedef [unique] ISurrogate* LPSURROGATE; - - HRESULT LoadDllServer( - [in] REFCLSID Clsid); - HRESULT FreeSurrogate(); -} - - -[ - local, - object, - uuid(00000146-0000-0000-C000-000000000046) -] -interface IGlobalInterfaceTable : IUnknown -{ - typedef [unique] IGlobalInterfaceTable *LPGLOBALINTERFACETABLE; - - HRESULT RegisterInterfaceInGlobal - ( - [in] IUnknown *pUnk, - [in] REFIID riid, - [out] DWORD *pdwCookie - ); - - HRESULT RevokeInterfaceFromGlobal - ( - [in] DWORD dwCookie - ); - - HRESULT GetInterfaceFromGlobal - ( - [in] DWORD dwCookie, - [in] REFIID riid, - [out, iid_is(riid)] void **ppv - ); -}; - - -[ - object, - uuid(0e6d4d92-6738-11cf-9608-00aa00680db4), - pointer_default(unique) -] - -interface IDirectWriterLock : IUnknown -{ - - HRESULT WaitForWriteAccess ([in] DWORD dwTimeout); - - HRESULT ReleaseWriteAccess (); - - HRESULT HaveWriteAccess (); - -} - -[ - object, - uuid(00000023-0000-0000-C000-000000000046) -] - -interface ISynchronize : IUnknown -{ - HRESULT Wait([in] DWORD dwMilliseconds); - HRESULT Signal(); - HRESULT Reset(); -} - -[ - local, - object, - uuid(00000025-0000-0000-C000-000000000046) -] -interface ISynchronizeMutex : ISynchronize -{ - HRESULT ReleaseMutex(); -} - -[ - local, - object, - uuid(00000024-0000-0000-C000-000000000046) -] -interface IAsyncSetup : IUnknown -{ - HRESULT GetAsyncManager( [in] REFIID riid, - [in] IUnknown *pOuter, - [in] DWORD dwFlags, - [out] IUnknown **ppInner, - [out] IAsyncManager **ppAsyncMgr ); -} - -[ - local, - object, - uuid(00000029-0000-0000-C000-000000000046) -] - -interface ICancelMethodCalls : IUnknown -{ - typedef [unique] ICancelMethodCalls *LPCANCELMETHODCALLS; - - HRESULT Cancel (void); - HRESULT TestCancel (void); - HRESULT SetCancelTimeout([in] ULONG ulSeconds); -} - -[ - local, - object, - uuid(0000002A-0000-0000-C000-000000000046) -] -interface IAsyncManager : IUnknown -{ - typedef enum tagDCOM_CALL_STATE - { - DCOM_NONE = 0x0, - DCOM_CALL_COMPLETE = 0x1, - DCOM_CALL_CANCELED = 0x2, - } DCOM_CALL_STATE; - - HRESULT CompleteCall ( [in] HRESULT Result ); - HRESULT GetCallContext( [in] REFIID riid, [out] void **pInterface ); - HRESULT GetState ( [out] ULONG *pulStateFlags); -} - -[ - local, - object, - uuid(0000002B-0000-0000-C000-000000000046) -] -interface IWaitMultiple : IUnknown -{ - HRESULT WaitMultiple ( [in] DWORD timeout, [out] ISynchronize **pSync ); - HRESULT AddSynchronize( [in] ISynchronize *pSync ); -} - -[ - local, - object, - uuid(0000002C-0000-0000-C000-000000000046) -] -interface ISynchronizeEvent : IUnknown -{ - HRESULT GetEvent( [out] HANDLE *pEvent ); -} - -[ - object, - uuid(00000026-0000-0000-C000-000000000046) -] -interface IUrlMon : IUnknown -{ - HRESULT AsyncGetClassBits( - [in] REFCLSID rclsid, - [in, unique] LPCWSTR pszTYPE, - [in, unique] LPCWSTR pszExt, - [in] DWORD dwFileVersionMS, - [in] DWORD dwFileVersionLS, - [in, unique] LPCWSTR pszCodeBase, - [in] IBindCtx * pbc, - [in] DWORD dwClassContext, - [in] REFIID riid, - [in] DWORD flags); -} - -//---------------------------------------------------------------------------- -// The Class Store Access Interface. -//---------------------------------------------------------------------------- -[ - object, - uuid(00000190-0000-0000-C000-000000000046) -] -interface IClassAccess : IUnknown -{ - -// This is the most common method to access the Class Container. -// It queries the Class Store for implementations for a specific -// Class Id. -// If a matching implementation is available for the object type, -// client architecture, locale and class context a pointer to the -// binary is returned along with other package info in the [out] parameter -// pPackageInfo. -// -// If the binary needs to be downloaded to the local machine, it is -// done as a part of this. -// - HRESULT GetClassInfo( - [in] REFCLSID clsid, // Class ID - [in] QUERYCONTEXT QryContext, // Query Attributes - [out] PACKAGEINFO * pPackageInfo - ); - -// -// GetClassSpecInfo is same as GetClassInfo except for it takes in -// any Class Specifier , CLSID or File Ext, or ProgID or MIME type. -// - HRESULT GetClassSpecInfo( - [in] uCLSSPEC * pClassSpec, // Class Spec (CLSID/Ext/MIME) - [in] QUERYCONTEXT QryContext, // Query Attributes - [out] PACKAGEINFO * pPackageInfo - ); - - -// -// GetInstallablePackages is used by CoGetPublishedAppInfo -// to provide list of published apps from the class store that are -// available for installation. -// - -typedef struct tagPUBLISHEDINFOLIST { - DWORD cPublApps; - [size_is(cPublApps), unique] PUBLISHEDAPPINFO *pPublAppInfo; -} PUBLISHEDINFOLIST; - - HRESULT GetInstallablePackages ( - [in] DWORD Count, - [out] PUBLISHEDINFOLIST *pInfoList - ); - -} - -[ - object, - uuid(00000192-0000-0000-C000-000000000046) -] -interface IClassRefresh : IUnknown -{ -// -// GetUpgrades is called to check if the Class Store has -// newer versions for any of a list of CLSIDs. The client calls this -// with a list of CLSIDs that were installed from the Class Container. -// - -typedef struct tagPACKAGEINFOLIST { - DWORD cPackInfo; - [size_is(cPackInfo), unique] PACKAGEINFO *pPackageInfo; -} PACKAGEINFOLIST; - - HRESULT GetUpgrades ( - [in] ULONG cClasses, - [in, size_is(cClasses)] CLSID *pClassList, // CLSIDs Installed - [in] CSPLATFORM Platform, - [in] LCID Locale, - [out] PACKAGEINFOLIST *pPackageInfoList); - -// -// CommitUpgrades is called to notify the Class Store that -// the newer versions were successfully installed and that the update sequence -// can be moved forward. -// - - HRESULT CommitUpgrades (); -} - - -//---------------------------------------------------------------------------- -// The Class Store Admin Interface. -//---------------------------------------------------------------------------- - -typedef struct tagCLASSDETAIL { - CLSID Clsid; - LPOLESTR pszDesc; - LPOLESTR pszIconPath; - CLSID TreatAsClsid; - CLSID AutoConvertClsid; - DWORD cFileExt; - [size_is(cFileExt)] LPOLESTR *prgFileExt; - LPOLESTR pMimeType; - LPOLESTR pDefaultProgId; - DWORD cOtherProgId; - [size_is(cOtherProgId)] LPOLESTR *prgOtherProgId; -} CLASSDETAIL; - -//+--------------------------------------------------------------------------- -// Contents: Enum Interfaces for Class Store -//---------------------------------------------------------------------------- -cpp_quote("#ifndef _LPCSADMNENUM_DEFINED") -cpp_quote("#define _LPCSADMNENUM_DEFINED") - -// -// IEnumPackage -// ============ -// - -[ - object, - uuid(00000193-0000-0000-C000-000000000046) -] -interface IEnumPackage : IUnknown -{ - -//---- Next() - - HRESULT Next( - [in] ULONG celt, - [out, size_is(celt), length_is(*pceltFetched)] PACKAGEDETAIL *rgelt, - [out] ULONG *pceltFetched); - -// -// celt number of elements to be fetched. -// rgelt array of PackageDetail structures. -// pceltFetched elements actually fetched. -// -// Returns: -// S_OK -// S_FALSE (Not enough elements to be fetched.) -// E_INVALIDARG -// E_FAIL -// CS_E_INVALID_VERSION (Class Container is corrupted -// OR is of a version that is no more supported) -// E_OUTOFMEMORY -// -// on errors -// *pceltFetched = 0 -// - - -//---- Skip() - - HRESULT Skip( - [in] ULONG celt); - -// -// celt number of elements to be skipped. -// -// Returns: -// S_OK -// S_FALSE (Not enough elements to be skipped.) -// E_FAIL -// E_ACCESSDENIED -// E_OUTOFMEMORY - - -//---- Reset() - - HRESULT Reset(); - -// -// Returns: -// S_OK -// - - -//---- Clone() - - HRESULT Clone( - [out] IEnumPackage **ppenum); - -// -// Returns: -// S_OK -// E_FAIL -// E_INVALIDARG -// E_ACCESSDENIED -// E_OUTOFMEMORY - - -} - - -// -// IEnumClass -// ========== -// - -[ - object, - uuid(00000194-0000-0000-C000-000000000046) -] - -interface IEnumClass : IUnknown -{ -//---- Next() - - HRESULT Next( - [in] ULONG celt, - [out, size_is(celt), length_is(*pceltFetched)] CLASSDETAIL *rgelt, - [out] ULONG *pceltFetched); - -// -// celt number of elements to be fetched. -// rgelt array of CLASSDETAIL structures. -// pceltFetched elements actually fetched. -// -// Returns: -// S_OK -// S_FALSE (Not enough elements to be fetched.) -// E_INVALIDARG -// E_FAIL -// CS_E_INVALID_VERSION (Class Container is corrupted -// OR is of a version that is no more supported) -// E_OUTOFMEMORY -// -// on errors -// *pceltFetched = 0 -// - -//---- Skip() - - HRESULT Skip( - [in] ULONG celt); - -// -// celt number of elements to be skipped. -// -// Returns: -// S_OK -// S_FALSE (Not enough elements to be skipped.) -// E_FAIL -// E_ACCESSDENIED -// E_OUTOFMEMORY - -//---- Reset() - - HRESULT Reset(); - -// -// Returns: -// S_OK -// - - -//---- Clone() - - HRESULT Clone( - [out] IEnumClass **ppenum); - -// -// Returns: -// S_OK -// E_FAIL -// E_INVALIDARG -// E_ACCESSDENIED -// E_OUTOFMEMORY - - - -} -cpp_quote("#endif") - -// -// IClassAdmin -// =========== -// - - -[ - object, - uuid(00000191-0000-0000-C000-000000000046) -] -interface IClassAdmin : IUnknown -{ - -// ::NewClass -// ----------- -// Stores a new Class Definition in the Class Store -// Corresponds to HKCR/{CLSID} in registry -// [In] - CLSID -// Class Name -// TreatAs CLSID (NULL GUID if no TreatAs) -// AutoConvert CLSID (NULL GUID if no AutoConvert) -// File Extension (NULL if no association) -// Mime Type (NULL if no association) -// Default ProgId (NULL if no association) -// Other ProgIds -// TypelibID -// Icon Path (NULL if none). -// -// Returns - S_OK -// E_ALREADY_EXISTS -// E_INVALIDARG -// - HRESULT NewClass ( - [in] CLASSDETAIL *pClassDetail - ); - -// ::DeleteClass -// ----------- -// Removes a Class Definition from the Class Store -// [In] - CLSID - - HRESULT DeleteClass ( - [in] REFCLSID guidClsId - ); - - -// ::NewInterface -// -------------- -// Stores a new Interface Definition in the Class Store -// Corresponds to HKCR/{IID} in registry -// [In] - IID -// Interface Name -// Proxy-Stub CLSID (NULL GUID if no ProxyStub) -// TypeLib GUID (NULL GUID if no TypeLib) -// -// Returns - S_OK -// E_ALREADY_EXISTS -// E_INVALID_ARG -// - HRESULT NewInterface ( - [in] REFIID iid, - [in, unique] LPOLESTR pszDesc, - [in] REFCLSID psclsid, - [in] REFCLSID typelibid - ); - -// ::DeleteInterface -// ----------- -// Removes an Interface Definition from the Class Store -// [In] - IID - - HRESULT DeleteInterface ( - [in] REFIID iid - ); - - -// ::NewPackage -// ------------ -// Stores a new application package in the Class Store -// May Correspond to HKCR/{CLSID}/LocalServer32 likes in registry -// -// Returns - S_OK -// E_ALREADY_EXISTS -// E_INVALIDARG -// - HRESULT NewPackage ( - [in] PACKAGEDETAIL *pPackageDetail - ); - - -// ::DeletePackage -// ----------- -// Removes a package from the Class Store -// [In] - PackageName - - HRESULT DeletePackage ( - [in] LPOLESTR pszPackageName - ); - -// ::GetClassesEnum() -// -// Returns the clsid enumerator -// for browsing classes defined in the class store. -// -// Returns: -// S_OK -// E_INVALIDARG -// E_FAIL -// E_ACCESSDENIED -// E_OUTOFMEMORY -// -// -// The value of the enumerator is NULL for all the error conditions. -// - - HRESULT GetClassesEnum( - [out] IEnumClass **ppIEnumClass - ); - - - -// ::GetPackagesEnum() -// -// Getting the Package enumerator from the classstore. -// -// guidClsid: All the apps that implements the clsid. -// ignored if NULLGUID. -// Vendor: All the apps provided by a given Vendor. -// ignored if NULL. -// -// ppIEnumPackage: NULL if there is any error. -// -// Returns: -// S_OK -// E_INVALIDARG -// E_FAIL -// E_ACCESSDENIED -// E_OUTOFMEMORY -// -// The value of the enumerator is NULL for all the error conditions. -// - - HRESULT GetPackagesEnum( - [in] REFCLSID guidClsid, - [in, unique] LPOLESTR pszVendor, - [in] CSPLATFORM Platform, - [in] DWORD dwContext, - [in] LCID Locale, - [out] IEnumPackage **ppIEnumPackage - ); - - -// ::GetClassDetails() -// -// Get all the class details given the clsid. -// -// [in] guidClsID class ID (guid) -// [out] CLASSDETAIL *pClassDetail -// -// Returns: -// S_OK -// E_INVALIDARG -// E_FAIL -// E_NOTFOUND (no such class) -// E_ACCESSDENIED -// E_OUTOFMEMORY -// -// - - - - HRESULT GetClassDetails ( - [in] REFCLSID guidClsId, - [out] CLASSDETAIL *pClassDetail - ); - - -// ::GetIidDetails() -// -// [IN] -// iid IID (guid) -// [OUT] -// pszDesc Description -// psClsid Proxy Stub Class ID -// pTypeLibId libid -// -// Returns: -// S_OK -// E_INVALIDARG -// E_FAIL -// E_NOTFOUND -// E_ACCESSDENIED -// E_OUTOFMEMORY -// -// - - HRESULT GetIidDetails ( - [in] REFIID iid, - [out] LPOLESTR *ppszDesc, - [out] CLSID *psClsid, - [out] CLSID *pTypeLibId - ); - -// ::GetPackageDetails() -// -// Get all the Package details given packagename. -// -// [IN] -// PackageName: Name of the package -// [OUT] -// pPackageDetail Package Detail -// -// Returns: -// S_OK -// E_INVALIDARG -// E_FAIL -// E_NOTFOUND (no such class) -// E_ACCESSDENIED -// E_OUTOFMEMORY -// -// - - - HRESULT GetPackageDetails ( - [in] LPOLESTR pszPackageName, - [out] PACKAGEDETAIL *pPackageDetail - ); -} - -cpp_quote("#if ( _MSC_VER >= 800 )") -cpp_quote("#pragma warning(default:4201)") -cpp_quote("#endif") - - */ - -} // extern (Windows) +module dwt.internal.ole.win32.OBJIDL; +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992-1997. +// +// File: objidl.idl +// +//-------------------------------------------------------------------------- + + +private import dwt.internal.ole.win32.extras; +private import dwt.internal.win32.WINTYPES; +// private import std.c.windows.windows; +// private import std.c.windows.com; +// private import dwt.internal.win32.os; + + +/* *NEED* to port wtypes.h */ + +extern( Windows ) { + + + + +//#ifndef DO_NO_IMPORTS +//import "unknwn.idl"; +//import "wtypes.idl"; +//#endif + +enum SRVINFO +{ + SRVINFO_F_COSERVERINFO = 0, + SRVINFO_F_COSERVERINFO2 = 1 +} + +struct COSERVERINFO +{ + DWORD dwReserved1; + LPWSTR pwszName; + COAUTHINFO * pAuthInfo; + DWORD dwReserved2; +} + +struct COSERVERINFO2 { + DWORD dwFlags; + LPWSTR pwszName; + COAUTHINFO* pAuthInfo; + IUnknown* ppCall; + LPWSTR pwszCodeURL; + DWORD dwFileVersionMS; + DWORD dwFileVersionLS; + LPWSTR pwszContentType; +} + + +/**************************************************************************** + * Component Object Interfaces + ****************************************************************************/ + +interface IMarshal : IUnknown +{ + HRESULT GetUnmarshalClass( REFIID riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags, CLSID *pCid ); + HRESULT GetMarshalSizeMax( REFIID riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags, DWORD *pSize ); + HRESULT MarshalInterface( IStream pStm, REFIID riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags ); + HRESULT UnmarshalInterface( IStream pStm, REFIID riid, void **ppv ); + HRESULT ReleaseMarshalData( IStream pStm ); + HRESULT DisconnectObject( DWORD dwReserved ); +} +alias IMarshal LPMARSHAL; + +interface IMalloc : IUnknown +{ + void * Alloc( ULONG cb ); + void * Realloc( void * pv, ULONG cb ); + void Free( void * pv ); + ULONG GetSize( void * pv ); + int DidAlloc( void * pv ); + void HeapMinimize(); +} +alias IMalloc LPMALLOC; + +interface IMallocSpy : IUnknown +{ + ULONG PreAlloc( ULONG cbRequest ); + void * PostAlloc( void * pActual ); + void * PreFree( void *pRequest, BOOL fSpyed ); + void PostFree( BOOL fSpyed ); + ULONG PreRealloc( void *pRequest, ULONG cbRequest, void **ppNewRequest, BOOL fSpyed ); + void * PostRealloc( void *pActual, BOOL fSpyed ); + void * PreGetSize( void *pRequest, BOOL fSpyed ); + ULONG PostGetSize( ULONG cbActual, BOOL fSpyed ); + void * PreDidAlloc( void * pRequest, BOOL fSpyed ); + int PostDidAlloc( void *pRequest, BOOL fSpyed, int fActual ); + void PreHeapMinimize(); + void PostHeapMinimize(); +} +alias IMallocSpy LPMALLOCSPY; + +interface IStdMarshalInfo : IUnknown +{ + HRESULT GetClassForHandler( DWORD dwDestContext, void *pvDestContext, CLSID *pClsid ); +} +alias IStdMarshalInfo LPSTDMARSHALINFO; + + // bit flags for IExternalConnection +enum EXTCONN +{ + EXTCONN_STRONG = 0x0001, // strong connection + EXTCONN_WEAK = 0x0002, // weak connection (table, container) + EXTCONN_CALLABLE = 0x0004, // table .vs. callable +} + +interface IExternalConnection : IUnknown +{ + // *** IExternalConnection methods *** + DWORD AddConnection( DWORD extconn, DWORD reserved ); + DWORD ReleaseConnection( DWORD extconn, DWORD reserved, BOOL fLastReleaseCloses ); +} +alias IExternalConnection LPEXTERNALCONNECTION; + + +struct MULTI_QI +{ + const IID *pIID; // pass this one in + IUnknown pItf; // get these out (you must set to NULL before calling) + HRESULT hr; +} + +interface IMultiQI : IUnknown +{ + HRESULT QueryMultipleInterfaces( ULONG cMQIs, MULTI_QI *pMQIs ); +} +alias IMultiQI LPMULTIQI; + +interface IEnumUnknown : IUnknown +{ + HRESULT Next( ULONG celt, IUnknown * rgelt, ULONG *pceltFetched); + HRESULT Skip( ULONG celt ); + HRESULT Reset(); + HRESULT Clone( IEnumUnknown * ppenum ); +} +alias IEnumUnknown LPENUMUNKNOWN; + + + +/**************************************************************************** + * Binding Interfaces + ****************************************************************************/ + +struct BIND_OPTS { + DWORD cbStruct; // sizeof(BIND_OPTS) + DWORD grfFlags; + DWORD grfMode; + DWORD dwTickCountDeadline; +} +alias BIND_OPTS * LPBIND_OPTS; + +struct BIND_OPTS2 { + DWORD cbStruct; // sizeof(BIND_OPTS2) + DWORD grfFlags; + DWORD grfMode; + DWORD dwTickCountDeadline; + DWORD dwTrackFlags; + DWORD dwClassContext; + LCID locale; + COSERVERINFO * pServerInfo; +} +alias BIND_OPTS2 * LPBIND_OPTS2; + +enum BIND_FLAGS +{ + BIND_MAYBOTHERUSER = 1, + BIND_JUSTTESTEXISTENCE = 2 +} + +interface IBindCtx : IUnknown +{ + HRESULT RegisterObjectBound( IUnknown punk ); + HRESULT RevokeObjectBound( IUnknown punk ); + HRESULT ReleaseBoundObjects(); + HRESULT SetBindOptions( BIND_OPTS * pbindopts ); + HRESULT GetBindOptions( BIND_OPTS * pbindopts ); + HRESULT GetRunningObjectTable( IRunningObjectTable * pprot ); + HRESULT RegisterObjectParam( LPOLESTR pszKey, IUnknown punk ); + HRESULT GetObjectParam( LPOLESTR pszKey, IUnknown * ppunk ); + HRESULT EnumObjectParam( IEnumString * ppenum ); + HRESULT RevokeObjectParam( LPOLESTR pszKey ); +} +alias IBindCtx LPBC; +alias IBindCtx LPBINDCTX; + +interface IEnumMoniker : IUnknown +{ + HRESULT Next( ULONG celt, IMoniker * rgelt, ULONG *pceltFetched ); + HRESULT Skip( ULONG celt ); + HRESULT Reset(); + HRESULT Clone( IEnumMoniker * ppenum ); +} +alias IEnumMoniker LPENUMMONIKER; + +interface IRunnableObject : IUnknown +{ + HRESULT GetRunningClass( LPCLSID lpClsid ); + HRESULT Run( LPBINDCTX pbc ); + BOOL IsRunning(); + HRESULT LockRunning( BOOL fLock, BOOL fLastUnlockCloses ); + HRESULT SetContainedObject( BOOL fContained ); +} +alias IRunnableObject LPRUNNABLEOBJECT; + +interface IRunningObjectTable : IUnknown +{ + HRESULT Register( DWORD grfFlags, IUnknown punkObject, IMoniker pmkObjectName, DWORD *pdwRegister ); + HRESULT Revoke ( DWORD dwRegister ); + HRESULT IsRunning( IMoniker pmkObjectName ); + HRESULT GetObject( IMoniker pmkObjectName, IUnknown * ppunkObject ); + HRESULT NoteChangeTime( DWORD dwRegister, FILETIME *pfiletime ); + HRESULT GetTimeOfLastChange( IMoniker pmkObjectName, FILETIME *pfiletime ); + HRESULT EnumRunning( IEnumMoniker * ppenumMoniker ); +} +alias IRunningObjectTable LPRUNNINGOBJECTTABLE; + +interface IPersist : IUnknown +{ + HRESULT GetClassID( CLSID * pClassID ); +} +alias IPersist LPPERSIST; + +interface IPersistStream : IPersist +{ + HRESULT IsDirty( ); + HRESULT Load( IStream pStm ); + HRESULT Save( IStream pStm, BOOL fClearDirty ); + HRESULT GetSizeMax( ULARGE_INTEGER *pcbSize ); +} +alias IPersistStream LPPERSISTSTREAM; + + // system moniker types; returned from IsSystemMoniker. +enum MKSYS +{ + MKSYS_NONE = 0, + MKSYS_GENERICCOMPOSITE = 1, + MKSYS_FILEMONIKER = 2, + MKSYS_ANTIMONIKER = 3, + MKSYS_ITEMMONIKER = 4, + MKSYS_POINTERMONIKER = 5, + // MKSYS_URLMONIKER = 6, + MKSYS_CLASSMONIKER = 7 +} + +enum MKREDUCE +{ + MKRREDUCE_ONE = 3<<16, + MKRREDUCE_TOUSER = 2<<16, + MKRREDUCE_THROUGHUSER = 1<<16, + MKRREDUCE_ALL = 0 +} + +interface IMoniker : IPersistStream +{ + HRESULT BindToObject( IBindCtx pbc, IMoniker pmkToLeft, REFIID riidResult, void **ppvResult ); + HRESULT BindToStorage( IBindCtx pbc, IMoniker pmkToLeft, REFIID riid, void * ppvObj ); + HRESULT Reduce( IBindCtx pbc, DWORD dwReduceHowFar, IMoniker * ppmkToLeft, IMoniker * ppmkReduced ); + HRESULT ComposeWith( IMoniker pmkRight, BOOL fOnlyIfNotGeneric, IMoniker * ppmkComposite ); + HRESULT Enum( BOOL fForward, IEnumMoniker * ppenumMoniker ); + HRESULT IsEqual( IMoniker pmkOtherMoniker ); + HRESULT Hash( DWORD *pdwHash ); + HRESULT IsRunning( IBindCtx pbc, IMoniker pmkToLeft, IMoniker pmkNewlyRunning ); + HRESULT GetTimeOfLastChange( IBindCtx pbc, IMoniker pmkToLeft, FILETIME *pFileTime ); + HRESULT Inverse( IMoniker * ppmk ); + HRESULT CommonPrefixWith( IMoniker pmkOther, IMoniker * ppmkPrefix ); + HRESULT RelativePathTo( IMoniker pmkOther, IMoniker * ppmkRelPath ); + HRESULT GetDisplayName( IBindCtx pbc, IMoniker pmkToLeft, LPOLESTR *ppszDisplayName ); + HRESULT ParseDisplayName( IBindCtx pbc, IMoniker pmkToLeft, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker * ppmkOut ); + HRESULT IsSystemMoniker( DWORD * pdwMksys ); +} +alias IMoniker LPMONIKER; + +interface IROTData : IUnknown +{ + HRESULT GetComparisonData( byte * pbData, ULONG cbMax, ULONG *pcbData ); +} + +interface IEnumString : IUnknown +{ + HRESULT Next( ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched ); + HRESULT Skip( ULONG celt ); + HRESULT Reset(); + HRESULT Clone( IEnumString * ppenum ); +} +alias IEnumString LPENUMSTRING; + + +/**************************************************************************** + * Structured Storage Interfaces + ****************************************************************************/ + +interface ISequentialStream : IUnknown +{ + HRESULT Read( void *pv, ULONG cb, ULONG *pcbRead ); + HRESULT Write( void *pv, ULONG cb, ULONG *pcbWritten ); +} + + /* Storage stat buffer */ +struct STATSTG +{ + LPOLESTR pwcsName; + DWORD type; + ULARGE_INTEGER cbSize; + FILETIME mtime; + FILETIME ctime; + FILETIME atime; + DWORD grfMode; + DWORD grfLocksSupported; + CLSID clsid; + DWORD grfStateBits; + DWORD reserved; +} + + /* Storage element types */ +enum STGTY +{ + STGTY_STORAGE = 1, + STGTY_STREAM = 2, + STGTY_LOCKBYTES = 3, + STGTY_PROPERTY = 4 +} + +enum STREAM_SEEK +{ + STREAM_SEEK_SET = 0, + STREAM_SEEK_CUR = 1, + STREAM_SEEK_END = 2 +} + +enum LOCKTYPE +{ + LOCK_WRITE = 1, + LOCK_EXCLUSIVE = 2, + LOCK_ONLYONCE = 4 +} + +interface IStream : ISequentialStream +{ + HRESULT Seek( LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition ); + HRESULT SetSize( ULARGE_INTEGER libNewSize ); + HRESULT CopyTo( IStream pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten); + HRESULT Commit( DWORD grfCommitFlags ); + HRESULT Revert(); + HRESULT LockRegion( ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType ); + HRESULT UnlockRegion( ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType ); + HRESULT Stat( STATSTG *pstatstg, DWORD grfStatFlag); + HRESULT Clone( IStream * ppstm ); +} +alias IStream LPSTREAM; + +interface IEnumSTATSTG : IUnknown +{ + HRESULT Next( ULONG celt, STATSTG *rgelt, ULONG *pceltFetched ); + HRESULT Skip( ULONG celt ); + HRESULT Reset(); + HRESULT Clone( IEnumSTATSTG * ppenum ); +} +alias IEnumSTATSTG LPENUMSTATSTG; + +struct RemSNB +{ + ULONG ulCntStr; + ULONG ulCntChar; + OLECHAR rgString[]; +} +alias RemSNB * wireSNB; +alias OLECHAR ** SNB; + +interface IStorage : IUnknown +{ + HRESULT CreateStream( OLECHAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream * ppstm); + HRESULT OpenStream( OLECHAR *pwcsName, void *reserved1, DWORD grfMode, DWORD reserved2, IStream * ppstm); + HRESULT CreateStorage( OLECHAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStorage * ppstg); + HRESULT OpenStorage( OLECHAR *pwcsName, IStorage pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage * ppstg ); + HRESULT CopyTo( DWORD ciidExclude, IID *rgiidExclude, SNB snbExclude, IStorage pstgDest ); + HRESULT MoveElementTo( OLECHAR * pwcsName, IStorage pstgDest, OLECHAR *pwcsNewName, DWORD grfFlags ); + HRESULT Commit( DWORD grfCommitFlags ); + HRESULT Revert(); + HRESULT EnumElements( DWORD reserved1, void *reserved2, DWORD reserved3, IEnumSTATSTG * ppenum); + HRESULT DestroyElement( OLECHAR * pwcsName ); + HRESULT RenameElement( OLECHAR *pwcsOldName, OLECHAR *pwcsNewName ); + HRESULT SetElementTimes( OLECHAR * pwcsName, FILETIME * pctime, FILETIME *patime, FILETIME *pmtime ); + HRESULT SetClass( REFCLSID clsid ); + HRESULT SetStateBits( DWORD grfStateBits, DWORD grfMask ); + HRESULT Stat( STATSTG *pstatstg, DWORD grfStatFlag ); +} +alias IStorage LPSTORAGE; + +interface IPersistFile : IPersist +{ + HRESULT IsDirty(); + HRESULT Load(LPCOLESTR pszFileName,DWORD dwMode); + HRESULT Save(LPCOLESTR pszFileName,BOOL fRemember); + HRESULT SaveCompleted(LPCOLESTR pszFileName); + HRESULT GetCurFile(LPOLESTR *ppszFileName ); +} +alias IPersistFile LPPERSISTFILE; + +interface IPersistStorage : IPersist +{ + HRESULT IsDirty(); + HRESULT InitNew(IStorage pStg); + HRESULT Load(IStorage pStg); + HRESULT Save(IStorage pStgSave,BOOL fSameAsLoad); + HRESULT SaveCompleted(IStorage pStgNew); + HRESULT HandsOffStorage(); +} +alias IPersistStorage LPPERSISTSTORAGE; + +interface ILockBytes : IUnknown +{ + HRESULT ReadAt( +ULARGE_INTEGER ulOffset, +void *pv, +ULONG cb, +ULONG *pcbRead); + + HRESULT WriteAt( +ULARGE_INTEGER ulOffset, +void *pv, +ULONG cb, +ULONG *pcbWritten); + +HRESULT Flush(); + +HRESULT SetSize( +ULARGE_INTEGER cb); + + HRESULT LockRegion( +ULARGE_INTEGER libOffset, +ULARGE_INTEGER cb, +DWORD dwLockType); + + HRESULT UnlockRegion( +ULARGE_INTEGER libOffset, +ULARGE_INTEGER cb, +DWORD dwLockType); + + HRESULT Stat( +STATSTG *pstatstg, +DWORD grfStatFlag); +} +alias ILockBytes LPLOCKBYTES; + +struct DVTARGETDEVICE { + DWORD tdSize; + WORD tdDriverNameOffset; + WORD tdDeviceNameOffset; + WORD tdPortNameOffset; + WORD tdExtDevmodeOffset; +BYTE[1] tdData; +} + +typedef CLIPFORMAT LPCLIPFORMAT; + +struct FORMATETC { + CLIPFORMAT cfFormat; +DVTARGETDEVICE * ptd; + DWORD dwAspect; + LONG lindex; + DWORD tymed; +} +alias FORMATETC *LPFORMATETC; + +interface IEnumFORMATETC : IUnknown +{ + HRESULT Next( +ULONG celt, + FORMATETC *rgelt, +ULONG *pceltFetched); + + HRESULT Skip( +ULONG celt); + + HRESULT Reset(); + + HRESULT Clone( +IEnumFORMATETC * ppenum); +} +alias IEnumFORMATETC LPENUMFORMATETC; + + //Advise Flags +enum ADVF +{ + ADVF_NODATA = 1, + ADVF_PRIMEFIRST = 2, + ADVF_ONLYONCE = 4, + ADVF_DATAONSTOP = 64, + ADVFCACHE_NOHANDLER = 8, + ADVFCACHE_FORCEBUILTIN = 16, + ADVFCACHE_ONSAVE = 32 +} + + // Stats for data; used by several enumerations and by at least one + // implementation of IDataAdviseHolder; if a field is not used, it + // will be NULL. + +struct STATDATA +{ // field used by: + FORMATETC formatetc; // EnumAdvise, EnumData (cache), EnumFormats + DWORD advf; // EnumAdvise, EnumData (cache) + IAdviseSink pAdvSink; // EnumAdvise + DWORD dwConnection; // EnumAdvise +} +alias STATDATA * LPSTATDATA; + +interface IEnumSTATDATA : IUnknown +{ + HRESULT Next( +ULONG celt, + STATDATA *rgelt, +ULONG *pceltFetched); + + + HRESULT Skip( +ULONG celt); + + HRESULT Reset(); + + HRESULT Clone( +IEnumSTATDATA * ppenum); +} +alias IEnumSTATDATA LPENUMSTATDATA; + +interface IRootStorage : IUnknown +{ + HRESULT SwitchToFile( LPOLESTR pszFile ); +} +alias IRootStorage LPROOTSTORAGE; + + +/**************************************************************************** + * Notification Interfaces + ****************************************************************************/ + +enum TYMED { + TYMED_HGLOBAL = 1, + TYMED_FILE = 2, + TYMED_ISTREAM = 4, + TYMED_ISTORAGE = 8, + TYMED_GDI = 16, + TYMED_MFPICT = 32, + TYMED_ENHMF = 64, + TYMED_NULL = 0 +} + +struct RemSTGMEDIUM { + DWORD tymed; + DWORD dwHandleType; + ULONG pData; + ULONG pUnkForRelease; + ULONG cbData; + byte[1] data; +} + +union UNION_u { + HBITMAP hBitmap; + HMETAFILEPICT hMetaFilePict; + HENHMETAFILE hEnhMetaFile; + HGLOBAL hGlobal; + LPOLESTR lpszFileName; + IStream pstm; + IStorage pstg; +} +/* +struct uSTGMEDIUM { + DWORD tymed; + UNION_u u; + IUnknown pUnkForRelease; +} +*/ +// <Shawn Liu> modified +struct uSTGMEDIUM { + DWORD tymed; + void* unionField; + IUnknown pUnkForRelease; +} + + +enum { + OBJ_PEN =1, + OBJ_BRUSH =2, + OBJ_DC =3, + OBJ_METADC =4, + OBJ_PAL =5, + OBJ_FONT =6, + OBJ_BITMAP =7, + OBJ_REGION =8, + OBJ_METAFILE =9, + OBJ_MEMDC =10, + OBJ_EXTPEN =11, + OBJ_ENHMETADC =12, + OBJ_ENHMETAFILE =13 +} +union __MIDL_IAdviseSink_0002 +{ + wireHBITMAP hBitmap; + wireHPALETTE hPalette; + wireHGLOBAL hGeneric; +} + +struct GDI_OBJECT +{ + DWORD ObjectType; + __MIDL_IAdviseSink_0002 u; +} + +union __MIDL_IAdviseSink_0003 +{ + wireHMETAFILEPICT hMetaFilePict; + wireHENHMETAFILE hHEnhMetaFile; + GDI_OBJECT *hGdiHandle; + wireHGLOBAL hGlobal; + LPOLESTR lpszFileName; + BYTE_BLOB *pstm; + BYTE_BLOB *pstg; +} + +struct userSTGMEDIUM +{ + DWORD tymed; + __MIDL_IAdviseSink_0003 u; + IUnknown pUnkForRelease; +} + +alias userSTGMEDIUM *wireSTGMEDIUM; +alias uSTGMEDIUM STGMEDIUM; +alias userSTGMEDIUM *wireASYNC_STGMEDIUM; +alias STGMEDIUM ASYNC_STGMEDIUM; +alias STGMEDIUM *LPSTGMEDIUM; + +struct userFLAG_STGMEDIUM +{ + LONG ContextFlags; + LONG fPassOwnership; + userSTGMEDIUM Stgmed; +} + +alias userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM; + +struct FLAG_STGMEDIUM +{ + LONG ContextFlags; + LONG fPassOwnership; + STGMEDIUM Stgmed; +} + + +interface IAdviseSink : IUnknown +{ + void OnDataChange(FORMATETC *pFormatetc,STGMEDIUM *pStgmed); + void OnViewChange(DWORD dwAspect,LONG lindex); + void OnRename(IMoniker pmk); + void OnSave(); + void OnClose(); +} +alias IAdviseSink LPADVISESINK; + +interface IAdviseSink2 : IAdviseSink +{ + void OnLinkSrcChange( IMoniker pmk ); +} +alias IAdviseSink2 LPADVISESINK2; + + +enum DATADIR +{ + DATADIR_GET = 1, + DATADIR_SET = 2 +} + +interface IDataObject : IUnknown +{ + + HRESULT GetData( FORMATETC *pformatetcIn, STGMEDIUM *pmedium); + + HRESULT GetDataHere( FORMATETC *pformatetc, STGMEDIUM *pmedium); + + HRESULT QueryGetData( FORMATETC *pformatetc); + + HRESULT GetCanonicalFormatEtc( + FORMATETC *pformatectIn, + FORMATETC *pformatetcOut); + + HRESULT SetData( + FORMATETC *pformatetc, + STGMEDIUM *pmedium, + BOOL fRelease); + + HRESULT EnumFormatEtc( + DWORD dwDirection, + IEnumFORMATETC * ppenumFormatEtc); + + HRESULT DAdvise( + FORMATETC *pformatetc, + DWORD advf, + IAdviseSink pAdvSink, + DWORD *pdwConnection); + + HRESULT DUnadvise(DWORD dwConnection); + + HRESULT EnumDAdvise(IEnumSTATDATA * ppenumAdvise); + +} +alias IDataObject LPDATAOBJECT; + +interface IDataAdviseHolder : IUnknown +{ + HRESULT Advise + ( + IDataObject pDataObject, + FORMATETC *pFetc, + DWORD advf, + IAdviseSink pAdvise, + DWORD *pdwConnection + ); + + HRESULT Unadvise + ( + DWORD dwConnection + ); + + HRESULT EnumAdvise + ( +IEnumSTATDATA * ppenumAdvise + ); + + HRESULT SendOnDataChange + ( + IDataObject pDataObject, + DWORD dwReserved, + DWORD advf + ); + +} +alias IDataAdviseHolder LPDATAADVISEHOLDER; + + +// call type used by IMessageFilter::HandleIncomingMessage +enum CALLTYPE +{ + CALLTYPE_TOPLEVEL = 1, // toplevel call - no outgoing call + CALLTYPE_NESTED = 2, // callback on behalf of previous outgoing call - should always handle + CALLTYPE_ASYNC = 3, // aysnchronous call - can NOT be rejected + CALLTYPE_TOPLEVEL_CALLPENDING = 4, // new toplevel call with new LID + CALLTYPE_ASYNC_CALLPENDING = 5 // async call - can NOT be rejected +} + +// status of server call - returned by IMessageFilter::HandleIncomingCall +// and passed to IMessageFilter::RetryRejectedCall +enum SERVERCALL +{ + SERVERCALL_ISHANDLED = 0, + SERVERCALL_REJECTED = 1, + SERVERCALL_RETRYLATER = 2 +} + +// Pending type indicates the level of nesting +enum PENDINGTYPE +{ + PENDINGTYPE_TOPLEVEL = 1, // toplevel call + PENDINGTYPE_NESTED = 2 // nested call +} + +// return values of MessagePending +enum PENDINGMSG +{ + PENDINGMSG_CANCELCALL = 0, // cancel the outgoing call + PENDINGMSG_WAITNOPROCESS = 1, // wait for the return and don't dispatch the message + PENDINGMSG_WAITDEFPROCESS = 2 // wait and dispatch the message + +} + +// additional interface information about the incoming call +struct INTERFACEINFO +{ + IUnknown pUnk; // the pointer to the object + IID iid; // interface id + WORD wMethod; // interface method +} +alias INTERFACEINFO *LPINTERFACEINFO; + + +interface IMessageFilter : IUnknown +{ + + DWORD HandleInComingCall + ( +DWORD dwCallType, +HTASK htaskCaller, +DWORD dwTickCount, +LPINTERFACEINFO lpInterfaceInfo + ); + + DWORD RetryRejectedCall + ( +HTASK htaskCallee, +DWORD dwTickCount, +DWORD dwRejectType + ); + + DWORD MessagePending + ( +HTASK htaskCallee, +DWORD dwTickCount, +DWORD dwPendingType + ); +} +alias IMessageFilter LPMESSAGEFILTER; + + + +/**************************************************************************** + * Object Remoting Interfaces + ****************************************************************************/ +/* +interface IRpcChannelBuffer : IUnknown +{ + + typedef unsigned long RPCOLEDATAREP; + + typedef struct tagRPCOLEMESSAGE + { + void *reserved1; + RPCOLEDATAREP dataRepresentation; + void *Buffer; + ULONG cbBuffer; + ULONG iMethod; + void *reserved2[5]; + ULONG rpcFlags; + } RPCOLEMESSAGE; + + typedef RPCOLEMESSAGE *PRPCOLEMESSAGE; + + HRESULT GetBuffer + ( + [in] RPCOLEMESSAGE *pMessage, + [in] REFIID riid + ); + + HRESULT SendReceive + ( + [in,out] RPCOLEMESSAGE *pMessage, + [out] ULONG *pStatus + ); + + HRESULT FreeBuffer + ( + [in] RPCOLEMESSAGE *pMessage + ); + + HRESULT GetDestCtx + ( + [out] DWORD *pdwDestContext, + [out] void **ppvDestContext + ); + + HRESULT IsConnected + ( + void + ); + +} + +[ + local, + object, + uuid(594f31d0-7f19-11d0-b194-00a0c90dc8bf) +] +interface IRpcChannelBuffer2 : IRpcChannelBuffer +{ + + HRESULT GetProtocolVersion + ( + [in,out] DWORD *pdwVersion + ); +} + +[ + local, + object, + uuid(25B15600-0115-11d0-BF0D-00AA00B8DFD2) +] +interface IRpcChannelBuffer3 : IRpcChannelBuffer2 +{ + + HRESULT Send + ( + [in,out] RPCOLEMESSAGE *pMsg, + [out] ULONG *pulStatus + ); + + HRESULT Receive + ( + [in,out] RPCOLEMESSAGE *pMsg, + [in] ULONG ulSize, + [out] ULONG *pulStatus + ); + + HRESULT Cancel + ( + [in] RPCOLEMESSAGE *pMsg + ); + + HRESULT GetCallContext + ( + [in] RPCOLEMESSAGE *pMsg, + [in] REFIID riid, + [out] void **pInterface + ); + + HRESULT GetDestCtxEx + ( + [in] RPCOLEMESSAGE *pMsg, + [out] DWORD *pdwDestContext, + [out] void **ppvDestContext + ); + + HRESULT GetState + ( + [in] RPCOLEMESSAGE *pMsg, + [out] DWORD *pState + ); + + HRESULT RegisterAsync + ( + [in] RPCOLEMESSAGE *pMsg, + [in] IAsyncManager *pAsyncMgr + ); + +} + + +[ + local, + object, + uuid(D5F56A34-593B-101A-B569-08002B2DBF7A) +] +interface IRpcProxyBuffer : IUnknown +{ + + HRESULT Connect + ( + [in, unique] IRpcChannelBuffer *pRpcChannelBuffer + ); + + void Disconnect + ( + void + ); + +} + +[ + local, + object, + uuid(D5F56AFC-593B-101A-B569-08002B2DBF7A) +] +interface IRpcStubBuffer : IUnknown +{ + + HRESULT Connect + ( + [in] IUnknown *pUnkServer + ); + + void Disconnect(); + + HRESULT Invoke + ( + [in] RPCOLEMESSAGE *_prpcmsg, + [in] IRpcChannelBuffer *_pRpcChannelBuffer + ); + + IRpcStubBuffer *IsIIDSupported + ( + [in] REFIID riid + ); + + ULONG CountRefs + ( + void + ); + + HRESULT DebugServerQueryInterface + ( + void **ppv + ); + + void DebugServerRelease + ( + void *pv + ); + +} + + + +[ + local, + object, + uuid(D5F569D0-593B-101A-B569-08002B2DBF7A) +] +interface IPSFactoryBuffer : IUnknown +{ + + HRESULT CreateProxy + ( + [in] IUnknown *pUnkOuter, + [in] REFIID riid, + [out] IRpcProxyBuffer **ppProxy, + [out] void **ppv + ); + + HRESULT CreateStub + ( + [in] REFIID riid, + [in, unique] IUnknown *pUnkServer, + [out] IRpcStubBuffer **ppStub + ); +} + +cpp_quote( "#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM" ) +cpp_quote( "// This interface is only valid on Windows NT 4.0" ) + +// This structure contains additional data for hooks. As a backward +// compatability hack, the entire structure is passed in place of the +// RIID parameter on all hook methods. Thus the IID must be the first +// parameter. As a forward compatability hack the second field is the +// current size of the structure. +typedef struct SChannelHookCallInfo +{ + IID iid; + DWORD cbSize; + GUID uCausality; + DWORD dwServerPid; + DWORD iMethod; + void *pObject; +} SChannelHookCallInfo; + +[ + local, + object, + uuid(1008c4a0-7613-11cf-9af1-0020af6e72f4) +] +interface IChannelHook : IUnknown +{ + void ClientGetSize( + [in] REFGUID uExtent, + [in] REFIID riid, + [out] ULONG *pDataSize ); + + void ClientFillBuffer( + [in] REFGUID uExtent, + [in] REFIID riid, + [in, out] ULONG *pDataSize, + [in] void *pDataBuffer ); + + void ClientNotify( + [in] REFGUID uExtent, + [in] REFIID riid, + [in] ULONG cbDataSize, + [in] void *pDataBuffer, + [in] DWORD lDataRep, + [in] HRESULT hrFault ); + + void ServerNotify( + [in] REFGUID uExtent, + [in] REFIID riid, + [in] ULONG cbDataSize, + [in] void *pDataBuffer, + [in] DWORD lDataRep ); + + void ServerGetSize( + [in] REFGUID uExtent, + [in] REFIID riid, + [in] HRESULT hrFault, + [out] ULONG *pDataSize ); + + void ServerFillBuffer( + [in] REFGUID uExtent, + [in] REFIID riid, + [in, out] ULONG *pDataSize, + [in] void *pDataBuffer, + [in] HRESULT hrFault ); +}; + +cpp_quote( "#endif //DCOM" ) +*/ + +/**************************************************************************** + * Property Storage Interfaces + ****************************************************************************/ + + /* +interface IPropertyStorage; +interface IEnumSTATPROPSTG; +interface IEnumSTATPROPSETSTG; + +[ + object, + uuid(00000138-0000-0000-C000-000000000046), + pointer_default(unique) +] + +interface IPropertyStorage : IUnknown +{ + + cpp_quote("") + cpp_quote("// Well-known Property Set Format IDs") + extern const FMTID FMTID_SummaryInformation; + extern const FMTID FMTID_DocSummaryInformation; + extern const FMTID FMTID_UserDefinedProperties; + + cpp_quote("") + cpp_quote("// Flags for IPropertySetStorage::Create") + const DWORD PROPSETFLAG_DEFAULT = 0; + const DWORD PROPSETFLAG_NONSIMPLE = 1; + const DWORD PROPSETFLAG_ANSI = 2; + cpp_quote("// This flag is only supported on StgCreatePropStg & StgOpenPropStg") + const DWORD PROPSETFLAG_UNBUFFERED = 4; + + typedef [unique] IPropertyStorage * LPPROPERTYSTORAGE; + + typedef struct tagPROPVARIANT PROPVARIANT; + + #define TYPEDEF_CA(type, name) \ + typedef struct tag##name\ + {\ + ULONG cElems;\ + [size_is( cElems )]\ + type * pElems;\ + } name + + TYPEDEF_CA(unsigned char, CAUB); + TYPEDEF_CA(short, CAI); + TYPEDEF_CA(USHORT, CAUI); + TYPEDEF_CA(long, CAL); + TYPEDEF_CA(ULONG, CAUL); + TYPEDEF_CA(float, CAFLT); + TYPEDEF_CA(double, CADBL); + TYPEDEF_CA(CY, CACY); + TYPEDEF_CA(DATE, CADATE); + TYPEDEF_CA(BSTR, CABSTR); + TYPEDEF_CA(BSTRBLOB, CABSTRBLOB); + TYPEDEF_CA(VARIANT_BOOL, CABOOL); + TYPEDEF_CA(SCODE, CASCODE); + TYPEDEF_CA(PROPVARIANT, CAPROPVARIANT); + TYPEDEF_CA(LARGE_INTEGER, CAH); + TYPEDEF_CA(ULARGE_INTEGER, CAUH); + TYPEDEF_CA(LPSTR, CALPSTR); + TYPEDEF_CA(LPWSTR, CALPWSTR); + TYPEDEF_CA(FILETIME, CAFILETIME); + TYPEDEF_CA(CLIPDATA, CACLIPDATA); + TYPEDEF_CA(CLSID, CACLSID); + +cpp_quote("// Disable the warning about the obsolete member named 'bool'") +cpp_quote("// 'bool', 'true', 'false', 'mutable', 'explicit', & 'typename'") +cpp_quote("// are reserved keywords") +cpp_quote("#pragma warning(disable:4237)") + + struct tagPROPVARIANT + { + VARTYPE vt; + WORD wReserved1; + WORD wReserved2; + WORD wReserved3; + [switch_is((unsigned short) (vt & 0x1fff))] union + { + [case(VT_EMPTY, VT_NULL)] + ; + [case(VT_UI1)] + UCHAR bVal; + [case(VT_I2)] + short iVal; + [case(VT_UI2)] + USHORT uiVal; + [case(VT_BOOL)] + VARIANT_BOOL boolVal; + [case(VT_ILLEGAL)] // obsolete field name; use boolVal + _VARIANT_BOOL bool; + [case(VT_I4)] + long lVal; + [case(VT_UI4)] + ULONG ulVal; + [case(VT_R4)] + float fltVal; + [case(VT_ERROR)] + SCODE scode; + [case(VT_I8)] + LARGE_INTEGER hVal; + [case(VT_UI8)] + ULARGE_INTEGER uhVal; + [case(VT_R8)] + double dblVal; + [case(VT_CY)] + CY cyVal; + [case(VT_DATE)] + DATE date; + [case(VT_FILETIME)] + FILETIME filetime; + [case(VT_CLSID)] + CLSID * puuid; + [case(VT_BLOB, VT_BLOB_OBJECT)] + BLOB blob; + [case(VT_CF)] + CLIPDATA *pclipdata; + [case(VT_STREAM, VT_STREAMED_OBJECT)] + IStream * pStream; + [case(VT_STORAGE, VT_STORED_OBJECT)] + IStorage * pStorage; + [case(VT_BSTR)] + BSTR bstrVal; + [case(VT_BSTR_BLOB)] // System use only + BSTRBLOB bstrblobVal; + [case(VT_LPSTR)] + LPSTR pszVal; + [case(VT_LPWSTR)] + LPWSTR pwszVal; + [case(VT_UI1|VT_VECTOR)] + CAUB caub; + [case(VT_I2|VT_VECTOR)] + CAI cai; + [case(VT_UI2|VT_VECTOR)] + CAUI caui; + [case(VT_BOOL|VT_VECTOR)] + CABOOL cabool; + [case(VT_I4|VT_VECTOR)] + CAL cal; + [case(VT_UI4|VT_VECTOR)] + CAUL caul; + [case(VT_R4|VT_VECTOR)] + CAFLT caflt; + [case(VT_ERROR|VT_VECTOR)] + CASCODE cascode; + [case(VT_I8|VT_VECTOR)] + CAH cah; + [case(VT_UI8|VT_VECTOR)] + CAUH cauh; + [case(VT_R8|VT_VECTOR)] + CADBL cadbl; + [case(VT_CY|VT_VECTOR)] + CACY cacy; + [case(VT_DATE|VT_VECTOR)] + CADATE cadate; + [case(VT_FILETIME|VT_VECTOR)] + CAFILETIME cafiletime; + [case(VT_CLSID|VT_VECTOR)] + CACLSID cauuid; + [case(VT_CF|VT_VECTOR)] + CACLIPDATA caclipdata; + [case(VT_BSTR|VT_VECTOR)] + CABSTR cabstr; + [case(VT_BSTR_BLOB|VT_VECTOR)] // System use only + CABSTRBLOB cabstrblob; + [case(VT_LPSTR|VT_VECTOR)] + CALPSTR calpstr; + [case(VT_LPWSTR|VT_VECTOR)] + CALPWSTR calpwstr; + [case(VT_VARIANT|VT_VECTOR)] + CAPROPVARIANT capropvar; + }; + }; + + typedef struct tagPROPVARIANT * LPPROPVARIANT; + + cpp_quote("// Reserved global Property IDs") + const PROPID PID_DICTIONARY = 0x00000000; + const PROPID PID_CODEPAGE = 0x00000001; + const PROPID PID_FIRST_USABLE = 0x00000002; + const PROPID PID_FIRST_NAME_DEFAULT = 0x00000fff; + const PROPID PID_LOCALE = 0x80000000; + const PROPID PID_MODIFY_TIME = 0x80000001; + const PROPID PID_SECURITY = 0x80000002; + const PROPID PID_ILLEGAL = 0xffffffff; + + + cpp_quote("// Property IDs for the SummaryInformation Property Set") + cpp_quote("") + cpp_quote("#define PIDSI_TITLE 0x00000002L // VT_LPSTR") + cpp_quote("#define PIDSI_SUBJECT 0x00000003L // VT_LPSTR") + cpp_quote("#define PIDSI_AUTHOR 0x00000004L // VT_LPSTR") + cpp_quote("#define PIDSI_KEYWORDS 0x00000005L // VT_LPSTR") + cpp_quote("#define PIDSI_COMMENTS 0x00000006L // VT_LPSTR") + cpp_quote("#define PIDSI_TEMPLATE 0x00000007L // VT_LPSTR") + cpp_quote("#define PIDSI_LASTAUTHOR 0x00000008L // VT_LPSTR") + cpp_quote("#define PIDSI_REVNUMBER 0x00000009L // VT_LPSTR") + cpp_quote("#define PIDSI_EDITTIME 0x0000000aL // VT_FILETIME (UTC)") + cpp_quote("#define PIDSI_LASTPRINTED 0x0000000bL // VT_FILETIME (UTC)") + cpp_quote("#define PIDSI_CREATE_DTM 0x0000000cL // VT_FILETIME (UTC)") + cpp_quote("#define PIDSI_LASTSAVE_DTM 0x0000000dL // VT_FILETIME (UTC)") + cpp_quote("#define PIDSI_PAGECOUNT 0x0000000eL // VT_I4") + cpp_quote("#define PIDSI_WORDCOUNT 0x0000000fL // VT_I4") + cpp_quote("#define PIDSI_CHARCOUNT 0x00000010L // VT_I4") + cpp_quote("#define PIDSI_THUMBNAIL 0x00000011L // VT_CF") + cpp_quote("#define PIDSI_APPNAME 0x00000012L // VT_LPSTR") + cpp_quote("#define PIDSI_DOC_SECURITY 0x00000013L // VT_I4") + + const ULONG PRSPEC_INVALID = 0xffffffff; + const ULONG PRSPEC_LPWSTR = 0; + const ULONG PRSPEC_PROPID = 1; + + typedef struct tagPROPSPEC + { + + ULONG ulKind; + [switch_is(ulKind)] union + { + [case(PRSPEC_PROPID)] + PROPID propid; + [case(PRSPEC_LPWSTR)] + LPOLESTR lpwstr; + [default] ; + } ; + + } PROPSPEC; + + typedef struct tagSTATPROPSTG + { + + LPOLESTR lpwstrName; + PROPID propid; + VARTYPE vt; + + } STATPROPSTG; + + cpp_quote("// Macros for parsing the OS Version of the Property Set Header") + cpp_quote("#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD( (dwOSVer) )") + cpp_quote("#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD( (dwOSVer) ))") + cpp_quote("#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD( (dwOSVer) ))") + cpp_quote("#define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF") + + + typedef struct tagSTATPROPSETSTG + { + + FMTID fmtid; + CLSID clsid; + DWORD grfFlags; + FILETIME mtime; + FILETIME ctime; + FILETIME atime; + DWORD dwOSVersion; + + } STATPROPSETSTG; + + + // When this IDL file is used for "IProp.dll" (the + // standalone property set DLL), we must have local + // and remotable routines (call_as routines are used + // to remove BSTRs, which are not remotable with some + // RPC run-times). + // + // For the remotable routines, we must use pointer + // parameters (e.g. "*rgspec" rather than "rgspec[]") + // so that the MIDL 2.0 compiler will generate an + // interpereted proxy/stub, rather than inline. + +#ifdef IPROPERTY_DLL + [local] +#endif + HRESULT ReadMultiple( + [in] ULONG cpspec, + [in, size_is(cpspec)] + const PROPSPEC rgpspec[], + [out, size_is(cpspec)] + PROPVARIANT rgpropvar[] + ); + +#ifdef IPROPERTY_DLL + [call_as(ReadMultiple)] + HRESULT RemoteReadMultiple( + [out] BOOL *pfBstrPresent, + [in] ULONG cpspec, + [in, size_is(cpspec)] + const PROPSPEC *rgpspec, + [out, size_is(cpspec)] + PROPVARIANT *rgpropvar + ); +#endif + +#ifdef IPROPERTY_DLL + [local] +#endif + HRESULT WriteMultiple( + [in] ULONG cpspec, + [in, size_is(cpspec)] + const PROPSPEC rgpspec[], + [in, size_is(cpspec)] + const PROPVARIANT rgpropvar[], + [in] PROPID propidNameFirst + ); + +#ifdef IPROPERTY_DLL + [call_as(WriteMultiple)] + HRESULT RemoteWriteMultiple( + [in] BOOL fBstrPresent, + [in] ULONG cpspec, + [in, size_is(cpspec)] + const PROPSPEC *rgpspec, + [in, size_is(cpspec)] + const PROPVARIANT *rgpropvar, + [in] PROPID propidNameFirst + ); +#endif + +#ifdef IPROPERTY_DLL + [local] +#endif + HRESULT DeleteMultiple( + [in] ULONG cpspec, + [in, size_is(cpspec)] + const PROPSPEC rgpspec[] + ); + +#ifdef IPROPERTY_DLL + [call_as(DeleteMultiple)] + HRESULT RemoteDeleteMultiple( + [in] ULONG cpspec, + [in, size_is(cpspec)] + const PROPSPEC *rgpspec + ); +#endif + + HRESULT ReadPropertyNames( + [in] ULONG cpropid, + [in, size_is(cpropid)] + const PROPID rgpropid[], + [out, size_is(cpropid)] + LPOLESTR rglpwstrName[] + ); + + HRESULT WritePropertyNames( + [in] ULONG cpropid, + [in, size_is(cpropid)] + const PROPID rgpropid[], + [in, size_is(cpropid)] + const LPOLESTR rglpwstrName[] + ); + + HRESULT DeletePropertyNames( + [in] ULONG cpropid, + [in, size_is(cpropid)] + const PROPID rgpropid[] + ); + + HRESULT Commit( + [in] DWORD grfCommitFlags + ); + + HRESULT Revert(); + + HRESULT Enum( + [out] IEnumSTATPROPSTG ** ppenum + ); + + HRESULT SetTimes( + [in] FILETIME const * pctime, + [in] FILETIME const * patime, + [in] FILETIME const * pmtime + ); + + HRESULT SetClass( + [in] REFCLSID clsid + ); + + HRESULT Stat( + [out] STATPROPSETSTG * pstatpsstg + ); +} + +[ + object, + uuid(0000013A-0000-0000-C000-000000000046), + pointer_default(unique) +] + +interface IPropertySetStorage : IUnknown +{ + + typedef [unique] IPropertySetStorage * LPPROPERTYSETSTORAGE; + + HRESULT Create( + [in] REFFMTID rfmtid, + [in, unique] + const CLSID * pclsid, + [in] DWORD grfFlags, + [in] DWORD grfMode, + [out] IPropertyStorage ** ppprstg + ); + + HRESULT Open( + [in] REFFMTID rfmtid, + [in] DWORD grfMode, + [out] IPropertyStorage ** ppprstg + ); + + HRESULT Delete( + [in] REFFMTID rfmtid + ); + + HRESULT Enum( + [out] IEnumSTATPROPSETSTG ** ppenum + ); + +} + + +[ + object, + uuid(00000139-0000-0000-C000-000000000046), + pointer_default(unique) +] + +interface IEnumSTATPROPSTG : IUnknown +{ + + typedef [unique] IEnumSTATPROPSTG * LPENUMSTATPROPSTG; + + [local] + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] + STATPROPSTG * rgelt, + [out] ULONG * pceltFetched + ); + + [call_as(Next)] + HRESULT RemoteNext( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] + STATPROPSTG * rgelt, + [out] ULONG * pceltFetched + ); + + HRESULT Skip( + [in] ULONG celt + ); + + HRESULT Reset(); + + HRESULT Clone( + [out] IEnumSTATPROPSTG ** ppenum + ); +} + + +[ + object, + uuid(0000013B-0000-0000-C000-000000000046), + pointer_default(unique) +] + +interface IEnumSTATPROPSETSTG : IUnknown +{ + + typedef [unique] IEnumSTATPROPSETSTG * LPENUMSTATPROPSETSTG; + + [local] + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] + STATPROPSETSTG * rgelt, + [out] ULONG * pceltFetched + ); + + [call_as(Next)] + HRESULT RemoteNext( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] + STATPROPSETSTG * rgelt, + [out] ULONG * pceltFetched + ); + + HRESULT Skip( + [in] ULONG celt + ); + + HRESULT Reset(); + + HRESULT Clone( + [out] IEnumSTATPROPSETSTG ** ppenum + ); +} + + +cpp_quote("WINOLEAPI PropVariantCopy ( PROPVARIANT * pvarDest, const PROPVARIANT * pvarSrc );") +cpp_quote("WINOLEAPI PropVariantClear ( PROPVARIANT * pvar );") +cpp_quote("WINOLEAPI FreePropVariantArray ( ULONG cVariants, PROPVARIANT * rgvars );") + +cpp_quote("") +cpp_quote("#define _PROPVARIANTINIT_DEFINED_") +cpp_quote("# ifdef __cplusplus") +cpp_quote("inline void PropVariantInit ( PROPVARIANT * pvar )") +cpp_quote("{") +cpp_quote(" memset ( pvar, 0, sizeof(PROPVARIANT) );") +cpp_quote("}") +cpp_quote("# else") +cpp_quote("# define PropVariantInit(pvar) memset ( pvar, 0, sizeof(PROPVARIANT) )") +cpp_quote("# endif") +cpp_quote("") + +cpp_quote("") +cpp_quote("#ifndef _STGCREATEPROPSTG_DEFINED_") +cpp_quote("WINOLEAPI StgCreatePropStg( IUnknown* pUnk, REFFMTID fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );") +cpp_quote("WINOLEAPI StgOpenPropStg( IUnknown* pUnk, REFFMTID fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );") +cpp_quote("WINOLEAPI StgCreatePropSetStg( IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);") + +cpp_quote("") +cpp_quote("#define CCH_MAX_PROPSTG_NAME 31") +cpp_quote("WINOLEAPI FmtIdToPropStgName( const FMTID *pfmtid, LPOLESTR oszName );" ) +cpp_quote("WINOLEAPI PropStgNameToFmtId( const LPOLESTR oszName, FMTID *pfmtid );" ) +cpp_quote("#endif") + + */ + +/**************************************************************************** + * Connection Point Interfaces + ****************************************************************************/ + /* +#ifdef __INCLUDE_CPIFS +interface IConnectionPointContainer; +interface IConnectionPoint; +interface IEnumConnections; +interface IEnumConnectionPoints; + +[ + object, + uuid(B196B286-BAB4-101A-B69C-00AA00341D07), + pointer_default(unique) +] +interface IConnectionPoint : IUnknown +{ + typedef IConnectionPoint * PCONNECTIONPOINT; + typedef IConnectionPoint * LPCONNECTIONPOINT; + + HRESULT GetConnectionInterface + ( + [out] IID * piid + ); + + HRESULT GetConnectionPointContainer + ( + [out] IConnectionPointContainer ** ppCPC + ); + + HRESULT Advise + ( + [in] IUnknown * pUnkSink, + [out] DWORD * pdwCookie + ); + + HRESULT Unadvise + ( + [in] DWORD dwCookie + ); + + HRESULT EnumConnections + ( + [out] IEnumConnections ** ppEnum + ); +} + +[ + object, + uuid(B196B284-BAB4-101A-B69C-00AA00341D07), + pointer_default(unique) +] +interface IConnectionPointContainer : IUnknown +{ + typedef IConnectionPointContainer * PCONNECTIONPOINTCONTAINER; + typedef IConnectionPointContainer * LPCONNECTIONPOINTCONTAINER; + + HRESULT EnumConnectionPoints + ( + [out] IEnumConnectionPoints ** ppEnum + ); + + HRESULT FindConnectionPoint + ( + [in] REFIID riid, + [out] IConnectionPoint ** ppCP + ); +} + + +[ + object, + uuid(B196B287-BAB4-101A-B69C-00AA00341D07), + pointer_default(unique) +] +interface IEnumConnections : IUnknown +{ + typedef IEnumConnections * PENUMCONNECTIONS; + typedef IEnumConnections * LPENUMCONNECTIONS; + + typedef struct tagCONNECTDATA + { + IUnknown * pUnk; + DWORD dwCookie; + } CONNECTDATA; + + typedef struct tagCONNECTDATA * PCONNECTDATA; + typedef struct tagCONNECTDATA * LPCONNECTDATA; + + [local] + HRESULT Next( + [in] ULONG cConnections, + [out, + size_is(cConnections), + length_is(*lpcFetched)] CONNECTDATA * rgcd, + [out] ULONG * lpcFetched + ); + + [call_as(Next)] + HRESULT RemoteNext( + [in] ULONG cConnections, + [out, + size_is(cConnections), + length_is(*lpcFetched)] CONNECTDATA * rgcd, + [out] ULONG * lpcFetched + ); + + HRESULT Skip + ( + [in] ULONG cConnections + ); + + HRESULT Reset + ( + void + ); + + HRESULT Clone + ( + [out] IEnumConnections ** ppEnum + ); +} + + +[ + object, + uuid(B196B285-BAB4-101A-B69C-00AA00341D07), + pointer_default(unique) +] +interface IEnumConnectionPoints : IUnknown +{ + typedef IEnumConnectionPoints * PENUMCONNECTIONPOINTS; + typedef IEnumConnectionPoints * LPENUMCONNECTIONPOINTS; + + [local] + HRESULT Next( + [in] ULONG cConnections, + [out, + size_is(cConnections), + length_is(*lpcFetched)] IConnectionPoint ** rgpcn, + [out] ULONG * lpcFetched + ); + + [call_as(Next)] + HRESULT RemoteNext( + [in] ULONG cConnections, + [out, + size_is(cConnections), + length_is(*lpcFetched)] IConnectionPoint ** rgpcn, + [out] ULONG * lpcFetched + ); + + HRESULT Skip + ( + [in] ULONG cConnections + ); + + HRESULT Reset + ( + void + ); + + HRESULT Clone + ( + [out] IEnumConnectionPoints ** ppEnum + ); +} +#endif // __INCLUDE_CPIFS + + +cpp_quote( "#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM" ) +cpp_quote( "// This interface is only valid on Windows NT 4.0" ) + +[ + local, + object, + uuid(0000013D-0000-0000-C000-000000000046) +] +interface IClientSecurity : IUnknown +{ + + typedef struct tagSOLE_AUTHENTICATION_SERVICE + { + DWORD dwAuthnSvc; + DWORD dwAuthzSvc; + OLECHAR *pPrincipalName; + HRESULT hr; + } SOLE_AUTHENTICATION_SERVICE; + + typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE; + + typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES + { + EOAC_NONE = 0x0, + EOAC_MUTUAL_AUTH = 0x1, + EOAC_CLOAKING = 0x10, + + // These are only valid for CoInitializeSecurity + EOAC_SECURE_REFS = 0x2, + EOAC_ACCESS_CONTROL = 0x4, + EOAC_APPID = 0x8 + } EOLE_AUTHENTICATION_CAPABILITIES; + + HRESULT QueryBlanket + ( + [in] IUnknown *pProxy, + [out] DWORD *pAuthnSvc, + [out] DWORD *pAuthzSvc, + [out] OLECHAR **pServerPrincName, + [out] DWORD *pAuthnLevel, + [out] DWORD *pImpLevel, + [out] void **pAuthInfo, + [out] DWORD *pCapabilites + ); + + HRESULT SetBlanket + ( + [in] IUnknown *pProxy, + [in] DWORD AuthnSvc, + [in] DWORD AuthzSvc, + [in] OLECHAR *pServerPrincName, + [in] DWORD AuthnLevel, + [in] DWORD ImpLevel, + [in] void *pAuthInfo, + [in] DWORD Capabilities + ); + + HRESULT CopyProxy + ( + [in] IUnknown *pProxy, + [out] IUnknown **ppCopy + ); +} + +[ + local, + object, + uuid(0000013E-0000-0000-C000-000000000046) +] +interface IServerSecurity : IUnknown +{ + HRESULT QueryBlanket + ( + [out] DWORD *pAuthnSvc, + [out] DWORD *pAuthzSvc, + [out] OLECHAR **pServerPrincName, + [out] DWORD *pAuthnLevel, + [out] DWORD *pImpLevel, + [out] void **pPrivs, + [out] DWORD *pCapabilities + ); + + HRESULT ImpersonateClient(); + + HRESULT RevertToSelf(); + + BOOL IsImpersonating(); +} + +[ + object, + uuid(00000140-0000-0000-C000-000000000046) +] + +interface IClassActivator : IUnknown +{ + HRESULT GetClassObject( + [in] REFCLSID rclsid, + [in] DWORD dwClassContext, + [in] LCID locale, + [in] REFIID riid, + [out, iid_is(riid)] void **ppv); +} + + +[ +object, +local, +uuid(00000144-0000-0000-C000-000000000046), +oleautomation +] +interface IRpcOptions : IUnknown +{ + HRESULT Set([in] IUnknown * pPrx, + [in] DWORD dwProperty, + [in] DWORD dwValue); + + HRESULT Query([in] IUnknown * pPrx, + [in] DWORD dwProperty, + [out] DWORD * pdwValue); + + HRESULT CopyProxy([in] IUnknown * punkProxy, + [out] IUnknown ** ppunkCopy); +} + +enum {COMBND_RPCSTRINGS = 0x01}; // flag indicating arBndInfo is the + // Rpc string bindings to be used. + +[ +object, +local, +uuid(00000148-0000-0000-C000-000000000046) +] +interface IComBinding : IUnknown +{ + HRESULT InitBinding([in] DWORD dwEndpointFlags, + [in] DWORD dwNICFlags, + [in] DWORD mbzReserved1, + [in] DWORD mbzReserved2, + [in] LPOLESTR pszBinding + ); + + HRESULT QueryBinding([out] LPDWORD pdwEndpointFlags, + [out] LPDWORD pdwNICFlags, + [out] LPDWORD mbzReserved1, + [out] LPDWORD mbzReserved2, + [out] LPOLESTR *ppszBinding + ); + + +} + + + + +cpp_quote( "#endif //DCOM" ) + + +[ + object, + uuid(99caf010-415e-11cf-8814-00aa00b569f5), + pointer_default(unique) +] + +interface IFillLockBytes: IUnknown +{ + [local] + HRESULT FillAppend + ( + [in, size_is(cb)] void const *pv, + [in] ULONG cb, + [out] ULONG *pcbWritten + ); + + [call_as(FillAppend)] + HRESULT _stdcall RemoteFillAppend( + [in, size_is(cb)] byte const *pv, + [in] ULONG cb, + [out] ULONG *pcbWritten); + + [local] + HRESULT FillAt + ( + [in] ULARGE_INTEGER ulOffset, + [in, size_is(cb)] void const *pv, + [in] ULONG cb, + [out] ULONG *pcbWritten + ); + + [call_as(FillAt)] + HRESULT _stdcall RemoteFillAt( + [in] ULARGE_INTEGER ulOffset, + [in, size_is(cb)] byte const *pv, + [in] ULONG cb, + [out] ULONG *pcbWritten); + + HRESULT SetFillSize + ( + [in] ULARGE_INTEGER ulSize + ); + + HRESULT Terminate + ( + [in] BOOL bCanceled + ); +} + + +[ + object, + uuid(a9d758a0-4617-11cf-95fc-00aa00680db4), + pointer_default(unique) +] + +interface IProgressNotify: IUnknown +{ + HRESULT OnProgress + ( + [in] DWORD dwProgressCurrent, + [in] DWORD dwProgressMaximum, + [in] BOOL fAccurate, + [in] BOOL fOwner + ); +} + + +[ + local, + object, + uuid(0e6d4d90-6738-11cf-9608-00aa00680db4), + pointer_default(unique) +] + +interface ILayoutStorage: IUnknown +{ + typedef struct tagStorageLayout + { + DWORD LayoutType; + OLECHAR *pwcsElementName; + LARGE_INTEGER cOffset; + LARGE_INTEGER cBytes; + } StorageLayout; + + HRESULT __stdcall LayoutScript + ( + [in] StorageLayout *pStorageLayout, + [in] DWORD nEntries, + [in] DWORD glfInterleavedFlag + ); + HRESULT __stdcall BeginMonitor(void); + + HRESULT __stdcall EndMonitor(void); + + HRESULT __stdcall ReLayoutDocfile + ( + [in] OLECHAR *pwcsNewDfName + ); + + HRESULT __stdcall ReLayoutDocfileOnILockBytes + ( + [in] ILockBytes *pILockBytes + ); + + +} + +[ + uuid(00000022-0000-0000-C000-000000000046), + version(1.0), + pointer_default(unique) + , object +] + +interface ISurrogate : IUnknown +{ + typedef [unique] ISurrogate* LPSURROGATE; + + HRESULT LoadDllServer( + [in] REFCLSID Clsid); + HRESULT FreeSurrogate(); +} + + +[ + local, + object, + uuid(00000146-0000-0000-C000-000000000046) +] +interface IGlobalInterfaceTable : IUnknown +{ + typedef [unique] IGlobalInterfaceTable *LPGLOBALINTERFACETABLE; + + HRESULT RegisterInterfaceInGlobal + ( + [in] IUnknown *pUnk, + [in] REFIID riid, + [out] DWORD *pdwCookie + ); + + HRESULT RevokeInterfaceFromGlobal + ( + [in] DWORD dwCookie + ); + + HRESULT GetInterfaceFromGlobal + ( + [in] DWORD dwCookie, + [in] REFIID riid, + [out, iid_is(riid)] void **ppv + ); +}; + + +[ + object, + uuid(0e6d4d92-6738-11cf-9608-00aa00680db4), + pointer_default(unique) +] + +interface IDirectWriterLock : IUnknown +{ + + HRESULT WaitForWriteAccess ([in] DWORD dwTimeout); + + HRESULT ReleaseWriteAccess (); + + HRESULT HaveWriteAccess (); + +} + +[ + object, + uuid(00000023-0000-0000-C000-000000000046) +] + +interface ISynchronize : IUnknown +{ + HRESULT Wait([in] DWORD dwMilliseconds); + HRESULT Signal(); + HRESULT Reset(); +} + +[ + local, + object, + uuid(00000025-0000-0000-C000-000000000046) +] +interface ISynchronizeMutex : ISynchronize +{ + HRESULT ReleaseMutex(); +} + +[ + local, + object, + uuid(00000024-0000-0000-C000-000000000046) +] +interface IAsyncSetup : IUnknown +{ + HRESULT GetAsyncManager( [in] REFIID riid, + [in] IUnknown *pOuter, + [in] DWORD dwFlags, + [out] IUnknown **ppInner, + [out] IAsyncManager **ppAsyncMgr ); +} + +[ + local, + object, + uuid(00000029-0000-0000-C000-000000000046) +] + +interface ICancelMethodCalls : IUnknown +{ + typedef [unique] ICancelMethodCalls *LPCANCELMETHODCALLS; + + HRESULT Cancel (void); + HRESULT TestCancel (void); + HRESULT SetCancelTimeout([in] ULONG ulSeconds); +} + +[ + local, + object, + uuid(0000002A-0000-0000-C000-000000000046) +] +interface IAsyncManager : IUnknown +{ + typedef enum tagDCOM_CALL_STATE + { + DCOM_NONE = 0x0, + DCOM_CALL_COMPLETE = 0x1, + DCOM_CALL_CANCELED = 0x2, + } DCOM_CALL_STATE; + + HRESULT CompleteCall ( [in] HRESULT Result ); + HRESULT GetCallContext( [in] REFIID riid, [out] void **pInterface ); + HRESULT GetState ( [out] ULONG *pulStateFlags); +} + +[ + local, + object, + uuid(0000002B-0000-0000-C000-000000000046) +] +interface IWaitMultiple : IUnknown +{ + HRESULT WaitMultiple ( [in] DWORD timeout, [out] ISynchronize **pSync ); + HRESULT AddSynchronize( [in] ISynchronize *pSync ); +} + +[ + local, + object, + uuid(0000002C-0000-0000-C000-000000000046) +] +interface ISynchronizeEvent : IUnknown +{ + HRESULT GetEvent( [out] HANDLE *pEvent ); +} + +[ + object, + uuid(00000026-0000-0000-C000-000000000046) +] +interface IUrlMon : IUnknown +{ + HRESULT AsyncGetClassBits( + [in] REFCLSID rclsid, + [in, unique] LPCWSTR pszTYPE, + [in, unique] LPCWSTR pszExt, + [in] DWORD dwFileVersionMS, + [in] DWORD dwFileVersionLS, + [in, unique] LPCWSTR pszCodeBase, + [in] IBindCtx * pbc, + [in] DWORD dwClassContext, + [in] REFIID riid, + [in] DWORD flags); +} + +//---------------------------------------------------------------------------- +// The Class Store Access Interface. +//---------------------------------------------------------------------------- +[ + object, + uuid(00000190-0000-0000-C000-000000000046) +] +interface IClassAccess : IUnknown +{ + +// This is the most common method to access the Class Container. +// It queries the Class Store for implementations for a specific +// Class Id. +// If a matching implementation is available for the object type, +// client architecture, locale and class context a pointer to the +// binary is returned along with other package info in the [out] parameter +// pPackageInfo. +// +// If the binary needs to be downloaded to the local machine, it is +// done as a part of this. +// + HRESULT GetClassInfo( + [in] REFCLSID clsid, // Class ID + [in] QUERYCONTEXT QryContext, // Query Attributes + [out] PACKAGEINFO * pPackageInfo + ); + +// +// GetClassSpecInfo is same as GetClassInfo except for it takes in +// any Class Specifier , CLSID or File Ext, or ProgID or MIME type. +// + HRESULT GetClassSpecInfo( + [in] uCLSSPEC * pClassSpec, // Class Spec (CLSID/Ext/MIME) + [in] QUERYCONTEXT QryContext, // Query Attributes + [out] PACKAGEINFO * pPackageInfo + ); + + +// +// GetInstallablePackages is used by CoGetPublishedAppInfo +// to provide list of published apps from the class store that are +// available for installation. +// + +typedef struct tagPUBLISHEDINFOLIST { + DWORD cPublApps; + [size_is(cPublApps), unique] PUBLISHEDAPPINFO *pPublAppInfo; +} PUBLISHEDINFOLIST; + + HRESULT GetInstallablePackages ( + [in] DWORD Count, + [out] PUBLISHEDINFOLIST *pInfoList + ); + +} + +[ + object, + uuid(00000192-0000-0000-C000-000000000046) +] +interface IClassRefresh : IUnknown +{ +// +// GetUpgrades is called to check if the Class Store has +// newer versions for any of a list of CLSIDs. The client calls this +// with a list of CLSIDs that were installed from the Class Container. +// + +typedef struct tagPACKAGEINFOLIST { + DWORD cPackInfo; + [size_is(cPackInfo), unique] PACKAGEINFO *pPackageInfo; +} PACKAGEINFOLIST; + + HRESULT GetUpgrades ( + [in] ULONG cClasses, + [in, size_is(cClasses)] CLSID *pClassList, // CLSIDs Installed + [in] CSPLATFORM Platform, + [in] LCID Locale, + [out] PACKAGEINFOLIST *pPackageInfoList); + +// +// CommitUpgrades is called to notify the Class Store that +// the newer versions were successfully installed and that the update sequence +// can be moved forward. +// + + HRESULT CommitUpgrades (); +} + + +//---------------------------------------------------------------------------- +// The Class Store Admin Interface. +//---------------------------------------------------------------------------- + +typedef struct tagCLASSDETAIL { + CLSID Clsid; + LPOLESTR pszDesc; + LPOLESTR pszIconPath; + CLSID TreatAsClsid; + CLSID AutoConvertClsid; + DWORD cFileExt; + [size_is(cFileExt)] LPOLESTR *prgFileExt; + LPOLESTR pMimeType; + LPOLESTR pDefaultProgId; + DWORD cOtherProgId; + [size_is(cOtherProgId)] LPOLESTR *prgOtherProgId; +} CLASSDETAIL; + +//+--------------------------------------------------------------------------- +// Contents: Enum Interfaces for Class Store +//---------------------------------------------------------------------------- +cpp_quote("#ifndef _LPCSADMNENUM_DEFINED") +cpp_quote("#define _LPCSADMNENUM_DEFINED") + +// +// IEnumPackage +// ============ +// + +[ + object, + uuid(00000193-0000-0000-C000-000000000046) +] +interface IEnumPackage : IUnknown +{ + +//---- Next() + + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] PACKAGEDETAIL *rgelt, + [out] ULONG *pceltFetched); + +// +// celt number of elements to be fetched. +// rgelt array of PackageDetail structures. +// pceltFetched elements actually fetched. +// +// Returns: +// S_OK +// S_FALSE (Not enough elements to be fetched.) +// E_INVALIDARG +// E_FAIL +// CS_E_INVALID_VERSION (Class Container is corrupted +// OR is of a version that is no more supported) +// E_OUTOFMEMORY +// +// on errors +// *pceltFetched = 0 +// + + +//---- Skip() + + HRESULT Skip( + [in] ULONG celt); + +// +// celt number of elements to be skipped. +// +// Returns: +// S_OK +// S_FALSE (Not enough elements to be skipped.) +// E_FAIL +// E_ACCESSDENIED +// E_OUTOFMEMORY + + +//---- Reset() + + HRESULT Reset(); + +// +// Returns: +// S_OK +// + + +//---- Clone() + + HRESULT Clone( + [out] IEnumPackage **ppenum); + +// +// Returns: +// S_OK +// E_FAIL +// E_INVALIDARG +// E_ACCESSDENIED +// E_OUTOFMEMORY + + +} + + +// +// IEnumClass +// ========== +// + +[ + object, + uuid(00000194-0000-0000-C000-000000000046) +] + +interface IEnumClass : IUnknown +{ +//---- Next() + + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] CLASSDETAIL *rgelt, + [out] ULONG *pceltFetched); + +// +// celt number of elements to be fetched. +// rgelt array of CLASSDETAIL structures. +// pceltFetched elements actually fetched. +// +// Returns: +// S_OK +// S_FALSE (Not enough elements to be fetched.) +// E_INVALIDARG +// E_FAIL +// CS_E_INVALID_VERSION (Class Container is corrupted +// OR is of a version that is no more supported) +// E_OUTOFMEMORY +// +// on errors +// *pceltFetched = 0 +// + +//---- Skip() + + HRESULT Skip( + [in] ULONG celt); + +// +// celt number of elements to be skipped. +// +// Returns: +// S_OK +// S_FALSE (Not enough elements to be skipped.) +// E_FAIL +// E_ACCESSDENIED +// E_OUTOFMEMORY + +//---- Reset() + + HRESULT Reset(); + +// +// Returns: +// S_OK +// + + +//---- Clone() + + HRESULT Clone( + [out] IEnumClass **ppenum); + +// +// Returns: +// S_OK +// E_FAIL +// E_INVALIDARG +// E_ACCESSDENIED +// E_OUTOFMEMORY + + + +} +cpp_quote("#endif") + +// +// IClassAdmin +// =========== +// + + +[ + object, + uuid(00000191-0000-0000-C000-000000000046) +] +interface IClassAdmin : IUnknown +{ + +// ::NewClass +// ----------- +// Stores a new Class Definition in the Class Store +// Corresponds to HKCR/{CLSID} in registry +// [In] - CLSID +// Class Name +// TreatAs CLSID (NULL GUID if no TreatAs) +// AutoConvert CLSID (NULL GUID if no AutoConvert) +// File Extension (NULL if no association) +// Mime Type (NULL if no association) +// Default ProgId (NULL if no association) +// Other ProgIds +// TypelibID +// Icon Path (NULL if none). +// +// Returns - S_OK +// E_ALREADY_EXISTS +// E_INVALIDARG +// + HRESULT NewClass ( + [in] CLASSDETAIL *pClassDetail + ); + +// ::DeleteClass +// ----------- +// Removes a Class Definition from the Class Store +// [In] - CLSID + + HRESULT DeleteClass ( + [in] REFCLSID guidClsId + ); + + +// ::NewInterface +// -------------- +// Stores a new Interface Definition in the Class Store +// Corresponds to HKCR/{IID} in registry +// [In] - IID +// Interface Name +// Proxy-Stub CLSID (NULL GUID if no ProxyStub) +// TypeLib GUID (NULL GUID if no TypeLib) +// +// Returns - S_OK +// E_ALREADY_EXISTS +// E_INVALID_ARG +// + HRESULT NewInterface ( + [in] REFIID iid, + [in, unique] LPOLESTR pszDesc, + [in] REFCLSID psclsid, + [in] REFCLSID typelibid + ); + +// ::DeleteInterface +// ----------- +// Removes an Interface Definition from the Class Store +// [In] - IID + + HRESULT DeleteInterface ( + [in] REFIID iid + ); + + +// ::NewPackage +// ------------ +// Stores a new application package in the Class Store +// May Correspond to HKCR/{CLSID}/LocalServer32 likes in registry +// +// Returns - S_OK +// E_ALREADY_EXISTS +// E_INVALIDARG +// + HRESULT NewPackage ( + [in] PACKAGEDETAIL *pPackageDetail + ); + + +// ::DeletePackage +// ----------- +// Removes a package from the Class Store +// [In] - PackageName + + HRESULT DeletePackage ( + [in] LPOLESTR pszPackageName + ); + +// ::GetClassesEnum() +// +// Returns the clsid enumerator +// for browsing classes defined in the class store. +// +// Returns: +// S_OK +// E_INVALIDARG +// E_FAIL +// E_ACCESSDENIED +// E_OUTOFMEMORY +// +// +// The value of the enumerator is NULL for all the error conditions. +// + + HRESULT GetClassesEnum( + [out] IEnumClass **ppIEnumClass + ); + + + +// ::GetPackagesEnum() +// +// Getting the Package enumerator from the classstore. +// +// guidClsid: All the apps that implements the clsid. +// ignored if NULLGUID. +// Vendor: All the apps provided by a given Vendor. +// ignored if NULL. +// +// ppIEnumPackage: NULL if there is any error. +// +// Returns: +// S_OK +// E_INVALIDARG +// E_FAIL +// E_ACCESSDENIED +// E_OUTOFMEMORY +// +// The value of the enumerator is NULL for all the error conditions. +// + + HRESULT GetPackagesEnum( + [in] REFCLSID guidClsid, + [in, unique] LPOLESTR pszVendor, + [in] CSPLATFORM Platform, + [in] DWORD dwContext, + [in] LCID Locale, + [out] IEnumPackage **ppIEnumPackage + ); + + +// ::GetClassDetails() +// +// Get all the class details given the clsid. +// +// [in] guidClsID class ID (guid) +// [out] CLASSDETAIL *pClassDetail +// +// Returns: +// S_OK +// E_INVALIDARG +// E_FAIL +// E_NOTFOUND (no such class) +// E_ACCESSDENIED +// E_OUTOFMEMORY +// +// + + + + HRESULT GetClassDetails ( + [in] REFCLSID guidClsId, + [out] CLASSDETAIL *pClassDetail + ); + + +// ::GetIidDetails() +// +// [IN] +// iid IID (guid) +// [OUT] +// pszDesc Description +// psClsid Proxy Stub Class ID +// pTypeLibId libid +// +// Returns: +// S_OK +// E_INVALIDARG +// E_FAIL +// E_NOTFOUND +// E_ACCESSDENIED +// E_OUTOFMEMORY +// +// + + HRESULT GetIidDetails ( + [in] REFIID iid, + [out] LPOLESTR *ppszDesc, + [out] CLSID *psClsid, + [out] CLSID *pTypeLibId + ); + +// ::GetPackageDetails() +// +// Get all the Package details given packagename. +// +// [IN] +// PackageName: Name of the package +// [OUT] +// pPackageDetail Package Detail +// +// Returns: +// S_OK +// E_INVALIDARG +// E_FAIL +// E_NOTFOUND (no such class) +// E_ACCESSDENIED +// E_OUTOFMEMORY +// +// + + + HRESULT GetPackageDetails ( + [in] LPOLESTR pszPackageName, + [out] PACKAGEDETAIL *pPackageDetail + ); +} + +cpp_quote("#if ( _MSC_VER >= 800 )") +cpp_quote("#pragma warning(default:4201)") +cpp_quote("#endif") + + */ + +} // extern (Windows)
--- a/dwt/internal/ole/win32/OLEIDL.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/ole/win32/OLEIDL.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,479 +1,479 @@ -module dwt.internal.ole.win32.OLEIDL; -//+------------------------------------------------------------------------- -// -// Microsoft Windows -// Copyright (C) Microsoft Corporation, 1992-1997. -// -// File: oadvhr.idl -// -//-------------------------------------------------------------------------- -private import dwt.internal.win32.WINTYPES; -private import dwt.internal.ole.win32.extras; -private import dwt.internal.ole.win32.OBJIDL; -//private import std.c.windows.windows; -//private import std.c.windows.com; - -extern( Windows ) { -//interface IOleInPlaceActiveObject; -//interface IEnumOLEVERB; - -interface IOleAdviseHolder : IUnknown -{ - HRESULT Advise( IAdviseSink pAdvise, DWORD * pdwConnection ); - HRESULT Unadvise( DWORD dwConnection ); - HRESULT EnumAdvise ( IEnumSTATDATA ppenumAdvise ); - HRESULT SendOnRename( IMoniker pmk ); - HRESULT SendOnSave(); - HRESULT SendOnClose(); -} -alias IOleAdviseHolder LPOLEADVISEHOLDER; - -interface IOleCache : IUnknown -{ - HRESULT Cache( FORMATETC *pformatetc, DWORD advf, DWORD * pdwConnection ); - HRESULT Uncache( DWORD dwConnection ); - HRESULT EnumCache( IEnumSTATDATA * ppenumSTATDATA ); - HRESULT InitCache( IDataObject pDataObject ); - HRESULT SetData( FORMATETC * pformatetc, STGMEDIUM * pmedium, BOOL fRelease ); -} -alias IOleCache LPOLECACHE; - -interface IOleCache2 : IOleCache -{ - // Cache update Flags -/* - const DWORD UPDFCACHE_NODATACACHE = 0x00000001; - const DWORD UPDFCACHE_ONSAVECACHE = 0x00000002; - const DWORD UPDFCACHE_ONSTOPCACHE = 0x00000004; - const DWORD UPDFCACHE_NORMALCACHE = 0x00000008; - const DWORD UPDFCACHE_IFBLANK = 0x00000010; - const DWORD UPDFCACHE_ONLYIFBLANK = 0x80000000; - - const DWORD UPDFCACHE_IFBLANKORONSAVECACHE = - (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE); - const DWORD UPDFCACHE_ALL = - ((DWORD)(~(UPDFCACHE_ONLYIFBLANK))); - const DWORD UPDFCACHE_ALLBUTNODATACACHE = - (UPDFCACHE_ALL & ((DWORD)(~UPDFCACHE_NODATACACHE))); - - - // IOleCache2::DiscardCache options - typedef [v1_enum] enum tagDISCARDCACHE - { - DISCARDCACHE_SAVEIFDIRTY = 0, // Save all dirty cache before discarding - DISCARDCACHE_NOSAVE = 1 // Don't save dirty caches before - // discarding - } DISCARDCACHE; -*/ - - HRESULT UpdateCache( LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved ); - -// [call_as(UpdateCache)] -// HRESULT RemoteUpdateCache( LPDATAOBJECT pDataObject, DWORD grfUpdf, DWORD pReserved ); - HRESULT DiscardCache( DWORD dwDiscardOptions ); -} -alias IOleCache2 LPOLECACHE2; - -interface IOleCacheControl : IUnknown -{ - HRESULT OnRun( LPDATAOBJECT pDataObject ); - HRESULT OnStop(); -} -alias IOleCacheControl LPOLECACHECONTROL; - -interface IParseDisplayName : IUnknown -{ - HRESULT ParseDisplayName( IBindCtx pbc, LPOLESTR pszDisplayName, ULONG * pchEaten, IMoniker * ppmkOut ); -} -alias IParseDisplayName LPPARSEDISPLAYNAME; - -interface IOleContainer : IParseDisplayName -{ - HRESULT EnumObjects( DWORD grfFlags, IEnumUnknown * ppenum ); - HRESULT LockContainer( BOOL fLock ); -} -alias IOleContainer LPOLECONTAINER; - - -interface IOleClientSite : IUnknown -{ - HRESULT SaveObject(); - HRESULT GetMoniker( DWORD dwAssign, DWORD dwWhichMoniker, IMoniker * ppmk ); - HRESULT GetContainer( IOleContainer * ppContainer ); - HRESULT ShowObject(); - HRESULT OnShowWindow( BOOL fShow ); - HRESULT RequestNewObjectLayout(); -} -alias IOleClientSite LPOLECLIENTSITE; - -enum OLEGETMONIKER -{ - OLEGETMONIKER_ONLYIFTHERE = 1, - OLEGETMONIKER_FORCEASSIGN = 2, - OLEGETMONIKER_UNASSIGN = 3, - OLEGETMONIKER_TEMPFORUSER = 4 -} - -enum OLEWHICHMK -{ - OLEWHICHMK_CONTAINER = 1, - OLEWHICHMK_OBJREL = 2, - OLEWHICHMK_OBJFULL = 3 -} - -enum USERCLASSTYPE -{ - USERCLASSTYPE_FULL = 1, - USERCLASSTYPE_SHORT = 2, - USERCLASSTYPE_APPNAME = 3, -} - -enum OLEMISC -{ - OLEMISC_RECOMPOSEONRESIZE = 0x00000001, - OLEMISC_ONLYICONIC = 0x00000002, - OLEMISC_INSERTNOTREPLACE = 0x00000004, - OLEMISC_STATIC = 0x00000008, - OLEMISC_CANTLINKINSIDE = 0x00000010, - OLEMISC_CANLINKBYOLE1 = 0x00000020, - OLEMISC_ISLINKOBJECT = 0x00000040, - OLEMISC_INSIDEOUT = 0x00000080, - OLEMISC_ACTIVATEWHENVISIBLE = 0x00000100, - OLEMISC_RENDERINGISDEVICEINDEPENDENT= 0x00000200, - OLEMISC_INVISIBLEATRUNTIME = 0x00000400, - OLEMISC_ALWAYSRUN = 0x00000800, - OLEMISC_ACTSLIKEBUTTON = 0x00001000, - OLEMISC_ACTSLIKELABEL = 0x00002000, - OLEMISC_NOUIACTIVATE = 0x00004000, - OLEMISC_ALIGNABLE = 0x00008000, - OLEMISC_SIMPLEFRAME = 0x00010000, - OLEMISC_SETCLIENTSITEFIRST = 0x00020000, - OLEMISC_IMEMODE = 0x00040000, - OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x00080000, - OLEMISC_WANTSTOMENUMERGE = 0x00100000, - OLEMISC_SUPPORTSMULTILEVELUNDO = 0x00200000 -} - -enum OLECLOSE -{ - OLECLOSE_SAVEIFDIRTY = 0, - OLECLOSE_NOSAVE = 1, - OLECLOSE_PROMPTSAVE = 2, - SAVEIFDIRTY = 0, - NOSAVE = 1, - PROMPTSAVE = 2 -} - -interface IOleObject : IUnknown -{ - HRESULT SetClientSite( IOleClientSite pClientSite ); - HRESULT GetClientSite( IOleClientSite * ppClientSite ); - HRESULT SetHostNames( LPCOLESTR szContainerApp, LPCOLESTR szContainerObj ); - HRESULT Close( DWORD dwSaveOption ); - HRESULT SetMoniker( DWORD dwWhichMoniker, IMoniker pmk ); - HRESULT GetMoniker( DWORD dwAssign, DWORD dwWhichMoniker, IMoniker * ppmk ); - HRESULT InitFromData( IDataObject pDataObject, BOOL fCreation, DWORD dwReserved ); - HRESULT GetClipboardData( DWORD dwReserved, IDataObject * ppDataObject ); - HRESULT DoVerb( LONG iVerb, LPMSG lpmsg, IOleClientSite pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect ); - HRESULT EnumVerbs( IEnumOLEVERB * ppEnumOleVerb ); - HRESULT Update(); - HRESULT IsUpToDate(); - HRESULT GetUserClassID( CLSID * pClsid ); - HRESULT GetUserType( DWORD dwFormOfType, LPOLESTR * pszUserType ); - HRESULT SetExtent( DWORD dwDrawAspect, SIZEL * psizel ); - HRESULT GetExtent( DWORD dwDrawAspect, SIZEL * psizel ); - HRESULT Advise( IAdviseSink pAdvSink, DWORD * pdwConnection ); - HRESULT Unadvise( DWORD dwConnection ); - HRESULT EnumAdvise( IEnumSTATDATA * ppenumAdvise ); - HRESULT GetMiscStatus( DWORD dwAspect, DWORD *pdwStatus ); - HRESULT SetColorScheme( LOGPALETTE *pLogpal ); -} -alias IOleObject LPOLEOBJECT; - -enum OLERENDER -{ - OLERENDER_NONE = 0, - OLERENDER_DRAW = 1, - OLERENDER_FORMAT = 2, - OLERENDER_ASIS = 3, - NONE = 0, - DRAW = 1, - FORMAT = 2, - ASIS = 3 -} -alias OLERENDER * LPOLERENDER; - -interface IOLETypes -{ -} - /****** OLE value types ***********************************************/ - /* rendering options */ - /****** Clipboard Data structures *****************************************/ - struct OBJECTDESCRIPTOR - { - ULONG cbSize; // Size of structure in bytes - CLSID clsid; // CLSID of data being transferred - DWORD dwDrawAspect; // Display aspect of the object - // normally DVASPECT_CONTENT or ICON. - // dwDrawAspect will be 0 (which is NOT - // DVASPECT_CONTENT) if the copier or - // dragsource didn't draw the object to - // begin with. - SIZEL sizel; // size of the object in HIMETRIC - // sizel is opt.: will be (0,0) for apps - // which don't draw the object being - // transferred - POINTL pointl; // Offset in HIMETRIC units from the - // upper-left corner of the obj where the - // mouse went down for the drag. - // NOTE: y coordinates increase downward. - // x coordinates increase to right - // pointl is opt.; it is only meaningful - // if object is transfered via drag/drop. - // (0, 0) if mouse position is unspecified - // (eg. when obj transfered via clipboard) - DWORD dwStatus; // Misc. status flags for object. Flags are - // defined by OLEMISC enum. these flags - // are as would be returned - // by IOleObject::GetMiscStatus. - DWORD dwFullUserTypeName; // Offset from beginning of structure to - // null-terminated string that specifies - // Full User Type Name of the object. - // 0 indicates string not present. - DWORD dwSrcOfCopy; // Offset from beginning of structure to - // null-terminated string that specifies - // source of the transfer. - // dwSrcOfCOpy is normally implemented as - // the display name of the temp-for-user - // moniker which identifies the source of - // the data. - // 0 indicates string not present. - // NOTE: moniker assignment is NOT forced. - // see IOleObject::GetMoniker( - // OLEGETMONIKER_TEMPFORUSER) - - /* variable sized string data may appear here */ - - } - alias OBJECTDESCRIPTOR LINKSRCDESCRIPTOR; - alias OBJECTDESCRIPTOR * POBJECTDESCRIPTOR; - alias OBJECTDESCRIPTOR * LPOBJECTDESCRIPTOR; - alias OBJECTDESCRIPTOR * PLINKSRCDESCRIPTOR; - alias OBJECTDESCRIPTOR * LPLINKSRCDESCRIPTOR; - - -interface IOleWindow : IUnknown -{ - HRESULT GetWindow( HWND * phwnd ); - HRESULT ContextSensitiveHelp( BOOL fEnterMode ); -} -alias IOleWindow LPOLEWINDOW; -enum OLEUPDATE -{ - OLEUPDATE_ALWAYS=1, - OLEUPDATE_ONCALL=3 -} -alias OLEUPDATE * LPOLEUPDATE; -alias OLEUPDATE * POLEUPDATE; - - // for IOleLink::BindToSource -enum OLELINKBIND -{ - OLELINKBIND_EVENIFCLASSDIFF = 1, -} - -interface IOleLink : IUnknown -{ - /* Link update options */ - HRESULT SetUpdateOptions( DWORD dwUpdateOpt ); - HRESULT GetUpdateOptions( DWORD * pdwUpdateOpt ); - HRESULT SetSourceMoniker( IMoniker pmk, REFCLSID rclsid ); - HRESULT GetSourceMoniker( IMoniker * ppmk ); - HRESULT SetSourceDisplayName( LPCOLESTR pszStatusText ); - HRESULT GetSourceDisplayName( LPOLESTR * ppszDisplayName ); - HRESULT BindToSource( DWORD bindflags, IBindCtx pbc ); - HRESULT BindIfRunning(); - HRESULT GetBoundSource( IUnknown * ppunk ); - HRESULT UnbindSource(); - HRESULT Update( IBindCtx pbc ); -} -alias IOleLink LPOLELINK; - -enum BINDSPEED -{ - BINDSPEED_INDEFINITE = 1, - BINDSPEED_MODERATE = 2, - BINDSPEED_IMMEDIATE = 3 -} - -enum OLECONTF -{ - OLECONTF_EMBEDDINGS = 1, - OLECONTF_LINKS = 2, - OLECONTF_OTHERS = 4, - OLECONTF_ONLYUSER = 8, - OLECONTF_ONLYIFRUNNING = 16 -} - -interface IOleItemContainer : IOleContainer -{ - HRESULT GetObject( LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx pbc, REFIID riid, void **ppvObject); - HRESULT GetObjectStorage( LPOLESTR pszItem, IBindCtx pbc, REFIID riid, void **ppvStorage); - HRESULT IsRunning(LPOLESTR pszItem); -} -alias IOleItemContainer LPOLEITEMCONTAINER; - -alias RECT BORDERWIDTHS; -alias LPRECT LPBORDERWIDTHS; -alias LPCRECT LPCBORDERWIDTHS; - -interface IOleInPlaceUIWindow : IOleWindow -{ - HRESULT GetBorder( LPRECT lprectBorder ); - HRESULT RequestBorderSpace( LPCBORDERWIDTHS pborderwidths ); - HRESULT SetBorderSpace( LPCBORDERWIDTHS pborderwidths ); - HRESULT SetActiveObject( LPOLEINPLACEACTIVEOBJECT pActiveObject, LPCOLESTR pszObjName ); -} -alias IOleInPlaceUIWindow LPOLEINPLACEUIWINDOW; - -interface IOleInPlaceActiveObject : IOleWindow -{ - HRESULT TranslateAccelerator( LPMSG lpmsg ); - HRESULT OnFrameWindowActivate( BOOL fActivate ); - HRESULT OnDocWindowActivate( BOOL fActivate ); - HRESULT ResizeBorder( LPCRECT prcBorder, IOleInPlaceUIWindow pUIWindow, BOOL fFrameWindow ); - HRESULT EnableModeless ( BOOL fEnable ); -} -alias IOleInPlaceActiveObject LPOLEINPLACEACTIVEOBJECT; - -struct OLEINPLACEFRAMEINFO // OleInPlaceFrameInfo -{ - UINT cb; - BOOL fMDIApp; - HWND hwndFrame; - HACCEL haccel; - UINT cAccelEntries; -} -alias OLEINPLACEFRAMEINFO * LPOLEINPLACEFRAMEINFO; - - -struct OLEMENUGROUPWIDTHS -{ - LONG width[6]; -} -alias OLEMENUGROUPWIDTHS * LPOLEMENUGROUPWIDTHS; - -alias HGLOBAL HOLEMENU; - -interface IOleInPlaceFrame : IOleInPlaceUIWindow -{ -HRESULT InsertMenus( HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths ); -HRESULT SetMenu( HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject ); -HRESULT RemoveMenus( HMENU hmenuShared ); -HRESULT SetStatusText( LPCOLESTR pszStatusText ); -HRESULT EnableModeless( BOOL fEnable ); -HRESULT TranslateAccelerator( LPMSG lpmsg, WORD wID ); -} -alias IOleInPlaceFrame LPOLEINPLACEFRAME; - -interface IOleInPlaceObject : IOleWindow -{ - HRESULT InPlaceDeactivate(); - HRESULT UIDeactivate(); - HRESULT SetObjectRects( LPCRECT lprcPosRect, LPCRECT lprcClipRect ); - HRESULT ReactivateAndUndo(); -} -alias IOleInPlaceObject LPOLEINPLACEOBJECT; - -interface IOleInPlaceSite : IOleWindow -{ - HRESULT CanInPlaceActivate(); - HRESULT OnInPlaceActivate(); - HRESULT OnUIActivate(); - HRESULT GetWindowContext( IOleInPlaceFrame * ppFrame, IOleInPlaceUIWindow * ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo ); - HRESULT Scroll( SIZE scrollExtant ); - HRESULT OnUIDeactivate( BOOL fUndoable ); - HRESULT OnInPlaceDeactivate(); - HRESULT DiscardUndoState(); - HRESULT DeactivateAndUndo(); - HRESULT OnPosRectChange( LPCRECT lprcPosRect ); -} -alias IOleInPlaceSite LPOLEINPLACESITE; - -interface IContinue : IUnknown -{ - HRESULT FContinue(); -} - -interface IViewObject : IUnknown -{ - HRESULT Draw( DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (*pfnContinue)(DWORD dwContinue), DWORD dwContinue ); - HRESULT GetColorSet( DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE **ppColorSet ); - HRESULT Freeze( DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze ); - HRESULT Unfreeze( DWORD dwFreeze ); - HRESULT SetAdvise( DWORD aspects, DWORD advf, IAdviseSink pAdvSink ); - HRESULT GetAdvise( DWORD * pAspects, DWORD * pAdvf, IAdviseSink * ppAdvSink ); -} -alias IViewObject LPVIEWOBJECT; - -interface IViewObject2 : IViewObject -{ - HRESULT GetExtent( DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE* ptd, LPSIZEL lpsizel ); -} -alias IViewObject2 LPVIEWOBJECT2; - -interface IDropSource : IUnknown -{ - HRESULT QueryContinueDrag( BOOL fEscapePressed, DWORD grfKeyState ); - HRESULT GiveFeedback( DWORD dwEffect ); -} -alias IDropSource LPDROPSOURCE; - -const DWORD MK_ALT = 0x0020; -const DWORD DROPEFFECT_NONE = 0; -const DWORD DROPEFFECT_COPY = 1; -const DWORD DROPEFFECT_MOVE = 2; -const DWORD DROPEFFECT_LINK = 4; -const DWORD DROPEFFECT_SCROLL = 0x80000000; -const DWORD DD_DEFSCROLLINSET = 11; -const DWORD DD_DEFSCROLLDELAY = 50; -const DWORD DD_DEFSCROLLINTERVAL = 50; -const DWORD DD_DEFDRAGDELAY = 200; -const DWORD DD_DEFDRAGMINDIST = 2; - -interface IDropTarget : IUnknown -{ - HRESULT DragEnter( IDataObject pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect ); - HRESULT DragOver( DWORD grfKeyState, POINTL pt, DWORD *pdwEffect ); - HRESULT DragLeave(); - HRESULT Drop(IDataObject pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect); -} -alias IDropTarget LPDROPTARGET; - -struct OLEVERB { - LONG lVerb; - LPOLESTR lpszVerbName; - DWORD fuFlags; - DWORD grfAttribs; -} -alias OLEVERB * LPOLEVERB; - -// Bitwise verb attributes used in OLEVERB.grfAttribs -enum OLEVERBATTRIB // bitwise -{ - OLEVERBATTRIB_NEVERDIRTIES = 1, - OLEVERBATTRIB_ONCONTAINERMENU = 2, - NEVERDIRTIES = 1, - ONCONTAINERMENU = 2 -} - -interface IEnumOLEVERB : IUnknown -{ - HRESULT Next( ULONG celt, LPOLEVERB rgelt, ULONG * pceltFetched ); - HRESULT Skip( ULONG celt ); - HRESULT Reset(); - HRESULT Clone( IEnumOLEVERB * ppenum ); -} -alias IEnumOLEVERB LPENUMOLEVERB; - -} /* extern(Windows) */ +module dwt.internal.ole.win32.OLEIDL; +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992-1997. +// +// File: oadvhr.idl +// +//-------------------------------------------------------------------------- +private import dwt.internal.win32.WINTYPES; +private import dwt.internal.ole.win32.extras; +private import dwt.internal.ole.win32.OBJIDL; +//private import std.c.windows.windows; +//private import std.c.windows.com; + +extern( Windows ) { +//interface IOleInPlaceActiveObject; +//interface IEnumOLEVERB; + +interface IOleAdviseHolder : IUnknown +{ + HRESULT Advise( IAdviseSink pAdvise, DWORD * pdwConnection ); + HRESULT Unadvise( DWORD dwConnection ); + HRESULT EnumAdvise ( IEnumSTATDATA ppenumAdvise ); + HRESULT SendOnRename( IMoniker pmk ); + HRESULT SendOnSave(); + HRESULT SendOnClose(); +} +alias IOleAdviseHolder LPOLEADVISEHOLDER; + +interface IOleCache : IUnknown +{ + HRESULT Cache( FORMATETC *pformatetc, DWORD advf, DWORD * pdwConnection ); + HRESULT Uncache( DWORD dwConnection ); + HRESULT EnumCache( IEnumSTATDATA * ppenumSTATDATA ); + HRESULT InitCache( IDataObject pDataObject ); + HRESULT SetData( FORMATETC * pformatetc, STGMEDIUM * pmedium, BOOL fRelease ); +} +alias IOleCache LPOLECACHE; + +interface IOleCache2 : IOleCache +{ + // Cache update Flags +/* + const DWORD UPDFCACHE_NODATACACHE = 0x00000001; + const DWORD UPDFCACHE_ONSAVECACHE = 0x00000002; + const DWORD UPDFCACHE_ONSTOPCACHE = 0x00000004; + const DWORD UPDFCACHE_NORMALCACHE = 0x00000008; + const DWORD UPDFCACHE_IFBLANK = 0x00000010; + const DWORD UPDFCACHE_ONLYIFBLANK = 0x80000000; + + const DWORD UPDFCACHE_IFBLANKORONSAVECACHE = + (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE); + const DWORD UPDFCACHE_ALL = + ((DWORD)(~(UPDFCACHE_ONLYIFBLANK))); + const DWORD UPDFCACHE_ALLBUTNODATACACHE = + (UPDFCACHE_ALL & ((DWORD)(~UPDFCACHE_NODATACACHE))); + + + // IOleCache2::DiscardCache options + typedef [v1_enum] enum tagDISCARDCACHE + { + DISCARDCACHE_SAVEIFDIRTY = 0, // Save all dirty cache before discarding + DISCARDCACHE_NOSAVE = 1 // Don't save dirty caches before + // discarding + } DISCARDCACHE; +*/ + + HRESULT UpdateCache( LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved ); + +// [call_as(UpdateCache)] +// HRESULT RemoteUpdateCache( LPDATAOBJECT pDataObject, DWORD grfUpdf, DWORD pReserved ); + HRESULT DiscardCache( DWORD dwDiscardOptions ); +} +alias IOleCache2 LPOLECACHE2; + +interface IOleCacheControl : IUnknown +{ + HRESULT OnRun( LPDATAOBJECT pDataObject ); + HRESULT OnStop(); +} +alias IOleCacheControl LPOLECACHECONTROL; + +interface IParseDisplayName : IUnknown +{ + HRESULT ParseDisplayName( IBindCtx pbc, LPOLESTR pszDisplayName, ULONG * pchEaten, IMoniker * ppmkOut ); +} +alias IParseDisplayName LPPARSEDISPLAYNAME; + +interface IOleContainer : IParseDisplayName +{ + HRESULT EnumObjects( DWORD grfFlags, IEnumUnknown * ppenum ); + HRESULT LockContainer( BOOL fLock ); +} +alias IOleContainer LPOLECONTAINER; + + +interface IOleClientSite : IUnknown +{ + HRESULT SaveObject(); + HRESULT GetMoniker( DWORD dwAssign, DWORD dwWhichMoniker, IMoniker * ppmk ); + HRESULT GetContainer( IOleContainer * ppContainer ); + HRESULT ShowObject(); + HRESULT OnShowWindow( BOOL fShow ); + HRESULT RequestNewObjectLayout(); +} +alias IOleClientSite LPOLECLIENTSITE; + +enum OLEGETMONIKER +{ + OLEGETMONIKER_ONLYIFTHERE = 1, + OLEGETMONIKER_FORCEASSIGN = 2, + OLEGETMONIKER_UNASSIGN = 3, + OLEGETMONIKER_TEMPFORUSER = 4 +} + +enum OLEWHICHMK +{ + OLEWHICHMK_CONTAINER = 1, + OLEWHICHMK_OBJREL = 2, + OLEWHICHMK_OBJFULL = 3 +} + +enum USERCLASSTYPE +{ + USERCLASSTYPE_FULL = 1, + USERCLASSTYPE_SHORT = 2, + USERCLASSTYPE_APPNAME = 3, +} + +enum OLEMISC +{ + OLEMISC_RECOMPOSEONRESIZE = 0x00000001, + OLEMISC_ONLYICONIC = 0x00000002, + OLEMISC_INSERTNOTREPLACE = 0x00000004, + OLEMISC_STATIC = 0x00000008, + OLEMISC_CANTLINKINSIDE = 0x00000010, + OLEMISC_CANLINKBYOLE1 = 0x00000020, + OLEMISC_ISLINKOBJECT = 0x00000040, + OLEMISC_INSIDEOUT = 0x00000080, + OLEMISC_ACTIVATEWHENVISIBLE = 0x00000100, + OLEMISC_RENDERINGISDEVICEINDEPENDENT= 0x00000200, + OLEMISC_INVISIBLEATRUNTIME = 0x00000400, + OLEMISC_ALWAYSRUN = 0x00000800, + OLEMISC_ACTSLIKEBUTTON = 0x00001000, + OLEMISC_ACTSLIKELABEL = 0x00002000, + OLEMISC_NOUIACTIVATE = 0x00004000, + OLEMISC_ALIGNABLE = 0x00008000, + OLEMISC_SIMPLEFRAME = 0x00010000, + OLEMISC_SETCLIENTSITEFIRST = 0x00020000, + OLEMISC_IMEMODE = 0x00040000, + OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x00080000, + OLEMISC_WANTSTOMENUMERGE = 0x00100000, + OLEMISC_SUPPORTSMULTILEVELUNDO = 0x00200000 +} + +enum OLECLOSE +{ + OLECLOSE_SAVEIFDIRTY = 0, + OLECLOSE_NOSAVE = 1, + OLECLOSE_PROMPTSAVE = 2, + SAVEIFDIRTY = 0, + NOSAVE = 1, + PROMPTSAVE = 2 +} + +interface IOleObject : IUnknown +{ + HRESULT SetClientSite( IOleClientSite pClientSite ); + HRESULT GetClientSite( IOleClientSite * ppClientSite ); + HRESULT SetHostNames( LPCOLESTR szContainerApp, LPCOLESTR szContainerObj ); + HRESULT Close( DWORD dwSaveOption ); + HRESULT SetMoniker( DWORD dwWhichMoniker, IMoniker pmk ); + HRESULT GetMoniker( DWORD dwAssign, DWORD dwWhichMoniker, IMoniker * ppmk ); + HRESULT InitFromData( IDataObject pDataObject, BOOL fCreation, DWORD dwReserved ); + HRESULT GetClipboardData( DWORD dwReserved, IDataObject * ppDataObject ); + HRESULT DoVerb( LONG iVerb, LPMSG lpmsg, IOleClientSite pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect ); + HRESULT EnumVerbs( IEnumOLEVERB * ppEnumOleVerb ); + HRESULT Update(); + HRESULT IsUpToDate(); + HRESULT GetUserClassID( CLSID * pClsid ); + HRESULT GetUserType( DWORD dwFormOfType, LPOLESTR * pszUserType ); + HRESULT SetExtent( DWORD dwDrawAspect, SIZEL * psizel ); + HRESULT GetExtent( DWORD dwDrawAspect, SIZEL * psizel ); + HRESULT Advise( IAdviseSink pAdvSink, DWORD * pdwConnection ); + HRESULT Unadvise( DWORD dwConnection ); + HRESULT EnumAdvise( IEnumSTATDATA * ppenumAdvise ); + HRESULT GetMiscStatus( DWORD dwAspect, DWORD *pdwStatus ); + HRESULT SetColorScheme( LOGPALETTE *pLogpal ); +} +alias IOleObject LPOLEOBJECT; + +enum OLERENDER +{ + OLERENDER_NONE = 0, + OLERENDER_DRAW = 1, + OLERENDER_FORMAT = 2, + OLERENDER_ASIS = 3, + NONE = 0, + DRAW = 1, + FORMAT = 2, + ASIS = 3 +} +alias OLERENDER * LPOLERENDER; + +interface IOLETypes +{ +} + /****** OLE value types ***********************************************/ + /* rendering options */ + /****** Clipboard Data structures *****************************************/ + struct OBJECTDESCRIPTOR + { + ULONG cbSize; // Size of structure in bytes + CLSID clsid; // CLSID of data being transferred + DWORD dwDrawAspect; // Display aspect of the object + // normally DVASPECT_CONTENT or ICON. + // dwDrawAspect will be 0 (which is NOT + // DVASPECT_CONTENT) if the copier or + // dragsource didn't draw the object to + // begin with. + SIZEL sizel; // size of the object in HIMETRIC + // sizel is opt.: will be (0,0) for apps + // which don't draw the object being + // transferred + POINTL pointl; // Offset in HIMETRIC units from the + // upper-left corner of the obj where the + // mouse went down for the drag. + // NOTE: y coordinates increase downward. + // x coordinates increase to right + // pointl is opt.; it is only meaningful + // if object is transfered via drag/drop. + // (0, 0) if mouse position is unspecified + // (eg. when obj transfered via clipboard) + DWORD dwStatus; // Misc. status flags for object. Flags are + // defined by OLEMISC enum. these flags + // are as would be returned + // by IOleObject::GetMiscStatus. + DWORD dwFullUserTypeName; // Offset from beginning of structure to + // null-terminated string that specifies + // Full User Type Name of the object. + // 0 indicates string not present. + DWORD dwSrcOfCopy; // Offset from beginning of structure to + // null-terminated string that specifies + // source of the transfer. + // dwSrcOfCOpy is normally implemented as + // the display name of the temp-for-user + // moniker which identifies the source of + // the data. + // 0 indicates string not present. + // NOTE: moniker assignment is NOT forced. + // see IOleObject::GetMoniker( + // OLEGETMONIKER_TEMPFORUSER) + + /* variable sized string data may appear here */ + + } + alias OBJECTDESCRIPTOR LINKSRCDESCRIPTOR; + alias OBJECTDESCRIPTOR * POBJECTDESCRIPTOR; + alias OBJECTDESCRIPTOR * LPOBJECTDESCRIPTOR; + alias OBJECTDESCRIPTOR * PLINKSRCDESCRIPTOR; + alias OBJECTDESCRIPTOR * LPLINKSRCDESCRIPTOR; + + +interface IOleWindow : IUnknown +{ + HRESULT GetWindow( HWND * phwnd ); + HRESULT ContextSensitiveHelp( BOOL fEnterMode ); +} +alias IOleWindow LPOLEWINDOW; +enum OLEUPDATE +{ + OLEUPDATE_ALWAYS=1, + OLEUPDATE_ONCALL=3 +} +alias OLEUPDATE * LPOLEUPDATE; +alias OLEUPDATE * POLEUPDATE; + + // for IOleLink::BindToSource +enum OLELINKBIND +{ + OLELINKBIND_EVENIFCLASSDIFF = 1, +} + +interface IOleLink : IUnknown +{ + /* Link update options */ + HRESULT SetUpdateOptions( DWORD dwUpdateOpt ); + HRESULT GetUpdateOptions( DWORD * pdwUpdateOpt ); + HRESULT SetSourceMoniker( IMoniker pmk, REFCLSID rclsid ); + HRESULT GetSourceMoniker( IMoniker * ppmk ); + HRESULT SetSourceDisplayName( LPCOLESTR pszStatusText ); + HRESULT GetSourceDisplayName( LPOLESTR * ppszDisplayName ); + HRESULT BindToSource( DWORD bindflags, IBindCtx pbc ); + HRESULT BindIfRunning(); + HRESULT GetBoundSource( IUnknown * ppunk ); + HRESULT UnbindSource(); + HRESULT Update( IBindCtx pbc ); +} +alias IOleLink LPOLELINK; + +enum BINDSPEED +{ + BINDSPEED_INDEFINITE = 1, + BINDSPEED_MODERATE = 2, + BINDSPEED_IMMEDIATE = 3 +} + +enum OLECONTF +{ + OLECONTF_EMBEDDINGS = 1, + OLECONTF_LINKS = 2, + OLECONTF_OTHERS = 4, + OLECONTF_ONLYUSER = 8, + OLECONTF_ONLYIFRUNNING = 16 +} + +interface IOleItemContainer : IOleContainer +{ + HRESULT GetObject( LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx pbc, REFIID riid, void **ppvObject); + HRESULT GetObjectStorage( LPOLESTR pszItem, IBindCtx pbc, REFIID riid, void **ppvStorage); + HRESULT IsRunning(LPOLESTR pszItem); +} +alias IOleItemContainer LPOLEITEMCONTAINER; + +alias RECT BORDERWIDTHS; +alias LPRECT LPBORDERWIDTHS; +alias LPCRECT LPCBORDERWIDTHS; + +interface IOleInPlaceUIWindow : IOleWindow +{ + HRESULT GetBorder( LPRECT lprectBorder ); + HRESULT RequestBorderSpace( LPCBORDERWIDTHS pborderwidths ); + HRESULT SetBorderSpace( LPCBORDERWIDTHS pborderwidths ); + HRESULT SetActiveObject( LPOLEINPLACEACTIVEOBJECT pActiveObject, LPCOLESTR pszObjName ); +} +alias IOleInPlaceUIWindow LPOLEINPLACEUIWINDOW; + +interface IOleInPlaceActiveObject : IOleWindow +{ + HRESULT TranslateAccelerator( LPMSG lpmsg ); + HRESULT OnFrameWindowActivate( BOOL fActivate ); + HRESULT OnDocWindowActivate( BOOL fActivate ); + HRESULT ResizeBorder( LPCRECT prcBorder, IOleInPlaceUIWindow pUIWindow, BOOL fFrameWindow ); + HRESULT EnableModeless ( BOOL fEnable ); +} +alias IOleInPlaceActiveObject LPOLEINPLACEACTIVEOBJECT; + +struct OLEINPLACEFRAMEINFO // OleInPlaceFrameInfo +{ + UINT cb; + BOOL fMDIApp; + HWND hwndFrame; + HACCEL haccel; + UINT cAccelEntries; +} +alias OLEINPLACEFRAMEINFO * LPOLEINPLACEFRAMEINFO; + + +struct OLEMENUGROUPWIDTHS +{ + LONG width[6]; +} +alias OLEMENUGROUPWIDTHS * LPOLEMENUGROUPWIDTHS; + +alias HGLOBAL HOLEMENU; + +interface IOleInPlaceFrame : IOleInPlaceUIWindow +{ +HRESULT InsertMenus( HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths ); +HRESULT SetMenu( HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject ); +HRESULT RemoveMenus( HMENU hmenuShared ); +HRESULT SetStatusText( LPCOLESTR pszStatusText ); +HRESULT EnableModeless( BOOL fEnable ); +HRESULT TranslateAccelerator( LPMSG lpmsg, WORD wID ); +} +alias IOleInPlaceFrame LPOLEINPLACEFRAME; + +interface IOleInPlaceObject : IOleWindow +{ + HRESULT InPlaceDeactivate(); + HRESULT UIDeactivate(); + HRESULT SetObjectRects( LPCRECT lprcPosRect, LPCRECT lprcClipRect ); + HRESULT ReactivateAndUndo(); +} +alias IOleInPlaceObject LPOLEINPLACEOBJECT; + +interface IOleInPlaceSite : IOleWindow +{ + HRESULT CanInPlaceActivate(); + HRESULT OnInPlaceActivate(); + HRESULT OnUIActivate(); + HRESULT GetWindowContext( IOleInPlaceFrame * ppFrame, IOleInPlaceUIWindow * ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo ); + HRESULT Scroll( SIZE scrollExtant ); + HRESULT OnUIDeactivate( BOOL fUndoable ); + HRESULT OnInPlaceDeactivate(); + HRESULT DiscardUndoState(); + HRESULT DeactivateAndUndo(); + HRESULT OnPosRectChange( LPCRECT lprcPosRect ); +} +alias IOleInPlaceSite LPOLEINPLACESITE; + +interface IContinue : IUnknown +{ + HRESULT FContinue(); +} + +interface IViewObject : IUnknown +{ + HRESULT Draw( DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (*pfnContinue)(DWORD dwContinue), DWORD dwContinue ); + HRESULT GetColorSet( DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE **ppColorSet ); + HRESULT Freeze( DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze ); + HRESULT Unfreeze( DWORD dwFreeze ); + HRESULT SetAdvise( DWORD aspects, DWORD advf, IAdviseSink pAdvSink ); + HRESULT GetAdvise( DWORD * pAspects, DWORD * pAdvf, IAdviseSink * ppAdvSink ); +} +alias IViewObject LPVIEWOBJECT; + +interface IViewObject2 : IViewObject +{ + HRESULT GetExtent( DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE* ptd, LPSIZEL lpsizel ); +} +alias IViewObject2 LPVIEWOBJECT2; + +interface IDropSource : IUnknown +{ + HRESULT QueryContinueDrag( BOOL fEscapePressed, DWORD grfKeyState ); + HRESULT GiveFeedback( DWORD dwEffect ); +} +alias IDropSource LPDROPSOURCE; + +const DWORD MK_ALT = 0x0020; +const DWORD DROPEFFECT_NONE = 0; +const DWORD DROPEFFECT_COPY = 1; +const DWORD DROPEFFECT_MOVE = 2; +const DWORD DROPEFFECT_LINK = 4; +const DWORD DROPEFFECT_SCROLL = 0x80000000; +const DWORD DD_DEFSCROLLINSET = 11; +const DWORD DD_DEFSCROLLDELAY = 50; +const DWORD DD_DEFSCROLLINTERVAL = 50; +const DWORD DD_DEFDRAGDELAY = 200; +const DWORD DD_DEFDRAGMINDIST = 2; + +interface IDropTarget : IUnknown +{ + HRESULT DragEnter( IDataObject pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect ); + HRESULT DragOver( DWORD grfKeyState, POINTL pt, DWORD *pdwEffect ); + HRESULT DragLeave(); + HRESULT Drop(IDataObject pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect); +} +alias IDropTarget LPDROPTARGET; + +struct OLEVERB { + LONG lVerb; + LPOLESTR lpszVerbName; + DWORD fuFlags; + DWORD grfAttribs; +} +alias OLEVERB * LPOLEVERB; + +// Bitwise verb attributes used in OLEVERB.grfAttribs +enum OLEVERBATTRIB // bitwise +{ + OLEVERBATTRIB_NEVERDIRTIES = 1, + OLEVERBATTRIB_ONCONTAINERMENU = 2, + NEVERDIRTIES = 1, + ONCONTAINERMENU = 2 +} + +interface IEnumOLEVERB : IUnknown +{ + HRESULT Next( ULONG celt, LPOLEVERB rgelt, ULONG * pceltFetched ); + HRESULT Skip( ULONG celt ); + HRESULT Reset(); + HRESULT Clone( IEnumOLEVERB * ppenum ); +} +alias IEnumOLEVERB LPENUMOLEVERB; + +} /* extern(Windows) */
--- a/dwt/internal/ole/win32/ifs.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/ole/win32/ifs.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,257 +1,257 @@ -/* - * extra interface not define in any other modules, copied from MSDN 2003 - * don't import this module directly, import std.internal.ole.win32.com instead - * - * author : Shawn Liu - */ - -module dwt.internal.ole.win32.ifs; - -private import dwt.DWT; -private import dwt.internal.win32.WINTYPES; -private import dwt.internal.ole.win32.COM; -//private import std.c.windows.windows; -//private import std.c.windows.com; -private import dwt.internal.ole.win32.COMTYPES; -private import dwt.internal.ole.win32.OAIDL; -private import dwt.internal.ole.win32.OBJIDL; -private import dwt.internal.ole.win32.OLEIDL; -private import dwt.internal.ole.win32.DOCOBJ; -private import dwt.internal.ole.win32.EXDISP; -private import dwt.internal.ole.win32.MSHTMHST; -private import dwt.internal.ole.win32.extras; - - -interface IAccessible : IDispatch { -// int GetTypeInfoCount(int pctinfo); -// int GetTypeInfo(THIS_ UINT itinfo, LCID lcid, ITypeInfo FAR* FAR* pptinfo); -// int GetIDsOfNames - not implemented -// int Invoke - not implemented - HRESULT get_accParent(LPDISPATCH* ppdispParent); - HRESULT get_accChildCount(LONG* pcountChildren); - HRESULT get_accChild(VARIANT varChildID, LPDISPATCH* ppdispChild); - HRESULT get_accName(VARIANT varID, BSTR* pszName); - HRESULT get_accValue(VARIANT varID, BSTR* pszValue); - HRESULT get_accDescription(VARIANT varID,BSTR* pszDescription); - HRESULT get_accRole(VARIANT varID, VARIANT* pvarRole); - HRESULT get_accState(VARIANT varID, VARIANT* pvarState); - HRESULT get_accHelp(VARIANT varID, BSTR* pszHelp); - HRESULT get_accHelpTopic(BSTR* pszHelpFile, VARIANT varChild, LONG* pidTopic); - HRESULT get_accKeyboardShortcut(VARIANT varID, BSTR* pszKeyboardShortcut); - HRESULT get_accFocus(VARIANT* pvarID); - HRESULT get_accSelection(VARIANT* pvarChildren); - HRESULT get_accDefaultAction(VARIANT varID,BSTR* pszDefaultAction); - HRESULT accSelect(LONG flagsSelect, VARIANT varID); - HRESULT accLocation(LONG* pxLeft, LONG* pyTop, LONG* pcxWidth, LONG* pcyHeight, VARIANT varID); - HRESULT accNavigate(LONG navDir, VARIANT varStart, VARIANT* pvarEnd); - HRESULT accHitTest(LONG xLeft, LONG yTop, VARIANT* pvarID); - HRESULT accDoDefaultAction(VARIANT varID); - HRESULT put_accName(VARIANT varID, BSTR* szName); - HRESULT put_accValue(VARIANT varID, BSTR* szValue); -} -alias IAccessible LPACCESSIBLE; - -interface IClassFactory2 : IClassFactory -{ - HRESULT GetLicInfo(LICINFO * pLicInfo); - HRESULT RequestLicKey(DWORD dwReserved, BSTR * pbstrKey); - HRESULT CreateInstanceLic(LPUNKNOWN pUnkOuter, LPUNKNOWN pUnkReserved, REFIID riid, BSTR bstrKey, void ** ppvObject); -} -alias IClassFactory2 LPCLASSFACTORY2; - - -interface IConnectionPoint : IUnknown -{ - HRESULT GetConnectionInterface(IID * pIID); - HRESULT GetConnectionPointContainer(LPCONNECTIONPOINTCONTAINER * ppCPC); - HRESULT Advise(LPUNKNOWN pUnk, DWORD * pdwCookie); - HRESULT Unadvise(DWORD dwCookie); - HRESULT EnumConnections(LPENUMCONNECTIONS * ppEnum); -} -alias IConnectionPoint LPCONNECTIONPOINT; - - -interface IConnectionPointContainer : IUnknown -{ - HRESULT EnumConnectionPoints(LPENUMCONNECTIONPOINTS * ppEnum); - HRESULT FindConnectionPoint(REFIID riid, LPCONNECTIONPOINT * ppCP); -} -alias IConnectionPointContainer LPCONNECTIONPOINTCONTAINER; - -interface IEnumConnectionPoints : IUnknown -{ - HRESULT Next(ULONG celt, LPCONNECTIONPOINT * rgelt, ULONG * pceltFetched); - HRESULT Skip(ULONG celt); - HRESULT Reset(); - HRESULT Clone(LPENUMCONNECTIONPOINTS * ppenum); -} -alias IEnumConnectionPoints LPENUMCONNECTIONPOINTS; - -interface IEnumConnections : IUnknown { - HRESULT Next(ULONG cConnections, CONNECTDATA ** rgpcd, ULONG * pcFetched); - HRESULT Skip(ULONG cConnections); - HRESULT Reset(); - HRESULT Clone(LPENUMCONNECTIONS * ppEnum); -}alias IEnumConnections LPENUMCONNECTIONS; - -interface IEnumVARIANT : IUnknown { - HRESULT Next(ULONG celt, VARIANT *rgelt, ULONG *pceltFetched); - HRESULT Skip(ULONG celt); - HRESULT Reset(); - HRESULT Clone(LPENUMVARIANT * ppenum); -} -alias IEnumVARIANT LPENUMVARIANT; - - -interface IInternetSecurityManager : IUnknown { - HRESULT SetSecuritySite(LPINTERNETSECURITYMGRSITE pSite); - HRESULT GetSecuritySite(LPINTERNETSECURITYMGRSITE *ppSite); - HRESULT MapUrlToZone(LPCWSTR pwszUrl, DWORD *pdwZone, DWORD dwFlags); - HRESULT GetSecurityId(LPCWSTR pwszUrl, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved); - HRESULT ProcessUrlAction(LPCWSTR pwszUrl, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved); - HRESULT QueryCustomPolicy(LPCWSTR pwszUrl, REFGUID guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved); - HRESULT SetZoneMapping(DWORD dwZone, LPCWSTR lpszPattern, DWORD dwFlags); - HRESULT GetZoneMappings(DWORD dwZone, LPENUMSTRING * ppenumString, DWORD dwFlags); -} -interface IInternetSecurityMgrSite : IUnknown { - HRESULT EnableModeless(BOOL fEnable); - HRESULT GetWindow(HWND *phwnd); -} -alias IInternetSecurityMgrSite LPINTERNETSECURITYMGRSITE; - -interface IOleControl : IUnknown -{ - HRESULT GetControlInfo(CONTROLINFO* pCI); - HRESULT OnMnemonic(LPMSG pMsg); - HRESULT OnAmbientPropertyChange(DISPID dispID); - HRESULT FreezeEvents(BOOL bFreeze); -} -alias IOleControl LPOLECONTROL; - - -interface IOleControlSite : IUnknown { - HRESULT OnControlInfoChanged(); - HRESULT LockInPlaceActive( - BOOL fLock //Indicates whether to ensure the active state - ); - HRESULT GetExtendedControl( - LPDISPATCH* ppDisp //Address of output variable that receives the - // IDispatch interface pointer - ); - HRESULT TransformCoords( - POINTL* pPtlHimetric , //Address of POINTL structure - POINTF* pPtfContainer , //Address of POINTF structure - DWORD dwFlags //Flags indicating the exact conversion - ); - HRESULT TranslateAccelerator( - LPMSG pMsg , //Pointer to the structure - DWORD grfModifiers //Flags describing the state of the keys - ); - HRESULT OnFocus( - BOOL fGotFocus //Indicates whether the control gained focus - ); - HRESULT ShowPropertyFrame(); -} -alias IOleControlSite LPOLECONTROLSITE; - - -interface IPersistStreamInit : IPersist { - HRESULT IsDirty(); - HRESULT Load(LPSTREAM pStm); - HRESULT Save(LPSTREAM pStm, BOOL fClearDirty); - HRESULT GetSizeMax(ULARGE_INTEGER * pcbSize); - HRESULT InitNew(); -} - -interface IPropertyNotifySink : IUnknown { - HRESULT OnChanged(DISPID dispID); - HRESULT OnRequestEdit(DISPID dispID); -} -alias IPropertyNotifySink LPPROPERTYNOTIFYSINK; - -interface IProvideClassInfo : IUnknown -{ - HRESULT GetClassInfo(LPTYPEINFO * ppTI); -} -alias IProvideClassInfo LPPROVIDECLASSINFO; - -interface IProvideClassInfo2 : IProvideClassInfo -{ - HRESULT GetGUID(DWORD dwGuidKind, GUID * pGUID); -} -alias IProvideClassInfo2 LPPROVIDECLASSINFO2; - - -/* -interface IDocHostUIHandler : IUnknown -{ - int ShowContextMenu( int dwID, POINT* ppt, ComObj pcmdtReserved, ComObj pdispReserved); - int GetHostInfo( int pInfo ); - int ShowUI( int dwID, ComObj pActiveObject, ComObj pCommandTarget, ComObj pFrame, ComObj pDoc ); - int HideUI(); - int UpdateUI(); - int EnableModeless( int fEnable ); - int OnDocWindowActivate( int fActivate ); - int OnFrameWindowActivate( int fActivate ); - int ResizeBorder( RECT* prcBorder, ComObj pUIWindow, int fRameWindow ); - int TranslateAccelerator( int lpMsg, int pguidCmdGroup, int nCmdID ); - int GetOptionKeyPath( int pchKey, int dw ); - int GetDropTarget( ComObj pDropTarget, ComObj* ppDropTarget ); - int GetExternal( ComObj** ppDispatch ); - int TranslateUrl( int dwTranslate, int pchURLIn, int ppchURLOut ); - int FilterDataObject( ComObj pDO, ComObj* ppDORet ); -} - -interface IDocHostShowUI : IUnknown -{ - int ShowMessage( HWND hwnd, wchar* lpstrText, int lpstrCaption, int dwType, int lpstrHelpFile, int dwHelpContext, int plResult); - int ShowHelp( HWND hwnd, int pszHelpFile, int uCommand, int dwData, long ptMouse, ComObj pDispatchObjectHit ); -} -*/ -interface IServiceProvider : IUnknown { - HRESULT QueryService(REFGUID guidService, REFIID riid, void **ppv); -} -alias IServiceProvider LPSERVICEPROVIDER; - -interface ISpecifyPropertyPages : IUnknown { - HRESULT GetPages( - CAUUID *pPages //Pointer to structure - ); -} -alias ISpecifyPropertyPages LPSPECIFYPROPERTYPAGES; - - - - - - - -/* -interface IEnumFORMATETC : IEnumXXXX {} - - -interface IDataObject : IUnknown { - int GetData(int pFormatetc, int pmedium); - int GetDataHere(FORMATETC* pFormatetc, STGMEDIUM* pmedium); - int QueryGetData(FORMATETC* pFormatetc); - int GetCanonicalFormatEtc(int pFormatetcIn, int pFormatetcOut); - int SetData(int pFormatetc, int pmedium, int fRelease); - int EnumFormatEtc(int dwDirection, int ppenumFormatetc); - int DAdvise(int pFormatetc, int advf, int pAdvSink, int pdwConnection); - int DUnadvise(int dwConnection); - int EnumDAdvise(ComObj* ppenumAdvise); -} - -interface IDropSource : IUnknown { - int QueryContinueDrag(int fEscapePressed, int grfKeyState); - int GiveFeedback(int dwEffect); -} - -interface IDropTarget : IUnknown { - // NOTE : POINT* is splited to pt_x, pt_y - int DragEnter(ComObj pDataObject, int grfKeyState, int pt_x, int pt_y, int pdwEffect); - int DragOver(int grfKeyState, int pt_x, int pt_y, int pdwEffect); - int DragLeave(); - int Drop(ComObj pDataObject, int grfKeyState, int pt_x, int pt_y, int pdwEffect); -} -*/ \ No newline at end of file +/* + * extra interface not define in any other modules, copied from MSDN 2003 + * don't import this module directly, import std.internal.ole.win32.com instead + * + * author : Shawn Liu + */ + +module dwt.internal.ole.win32.ifs; + +private import dwt.DWT; +private import dwt.internal.win32.WINTYPES; +private import dwt.internal.ole.win32.COM; +//private import std.c.windows.windows; +//private import std.c.windows.com; +private import dwt.internal.ole.win32.COMTYPES; +private import dwt.internal.ole.win32.OAIDL; +private import dwt.internal.ole.win32.OBJIDL; +private import dwt.internal.ole.win32.OLEIDL; +private import dwt.internal.ole.win32.DOCOBJ; +private import dwt.internal.ole.win32.EXDISP; +private import dwt.internal.ole.win32.MSHTMHST; +private import dwt.internal.ole.win32.extras; + + +interface IAccessible : IDispatch { +// int GetTypeInfoCount(int pctinfo); +// int GetTypeInfo(THIS_ UINT itinfo, LCID lcid, ITypeInfo FAR* FAR* pptinfo); +// int GetIDsOfNames - not implemented +// int Invoke - not implemented + HRESULT get_accParent(LPDISPATCH* ppdispParent); + HRESULT get_accChildCount(LONG* pcountChildren); + HRESULT get_accChild(VARIANT varChildID, LPDISPATCH* ppdispChild); + HRESULT get_accName(VARIANT varID, BSTR* pszName); + HRESULT get_accValue(VARIANT varID, BSTR* pszValue); + HRESULT get_accDescription(VARIANT varID,BSTR* pszDescription); + HRESULT get_accRole(VARIANT varID, VARIANT* pvarRole); + HRESULT get_accState(VARIANT varID, VARIANT* pvarState); + HRESULT get_accHelp(VARIANT varID, BSTR* pszHelp); + HRESULT get_accHelpTopic(BSTR* pszHelpFile, VARIANT varChild, LONG* pidTopic); + HRESULT get_accKeyboardShortcut(VARIANT varID, BSTR* pszKeyboardShortcut); + HRESULT get_accFocus(VARIANT* pvarID); + HRESULT get_accSelection(VARIANT* pvarChildren); + HRESULT get_accDefaultAction(VARIANT varID,BSTR* pszDefaultAction); + HRESULT accSelect(LONG flagsSelect, VARIANT varID); + HRESULT accLocation(LONG* pxLeft, LONG* pyTop, LONG* pcxWidth, LONG* pcyHeight, VARIANT varID); + HRESULT accNavigate(LONG navDir, VARIANT varStart, VARIANT* pvarEnd); + HRESULT accHitTest(LONG xLeft, LONG yTop, VARIANT* pvarID); + HRESULT accDoDefaultAction(VARIANT varID); + HRESULT put_accName(VARIANT varID, BSTR* szName); + HRESULT put_accValue(VARIANT varID, BSTR* szValue); +} +alias IAccessible LPACCESSIBLE; + +interface IClassFactory2 : IClassFactory +{ + HRESULT GetLicInfo(LICINFO * pLicInfo); + HRESULT RequestLicKey(DWORD dwReserved, BSTR * pbstrKey); + HRESULT CreateInstanceLic(LPUNKNOWN pUnkOuter, LPUNKNOWN pUnkReserved, REFIID riid, BSTR bstrKey, void ** ppvObject); +} +alias IClassFactory2 LPCLASSFACTORY2; + + +interface IConnectionPoint : IUnknown +{ + HRESULT GetConnectionInterface(IID * pIID); + HRESULT GetConnectionPointContainer(LPCONNECTIONPOINTCONTAINER * ppCPC); + HRESULT Advise(LPUNKNOWN pUnk, DWORD * pdwCookie); + HRESULT Unadvise(DWORD dwCookie); + HRESULT EnumConnections(LPENUMCONNECTIONS * ppEnum); +} +alias IConnectionPoint LPCONNECTIONPOINT; + + +interface IConnectionPointContainer : IUnknown +{ + HRESULT EnumConnectionPoints(LPENUMCONNECTIONPOINTS * ppEnum); + HRESULT FindConnectionPoint(REFIID riid, LPCONNECTIONPOINT * ppCP); +} +alias IConnectionPointContainer LPCONNECTIONPOINTCONTAINER; + +interface IEnumConnectionPoints : IUnknown +{ + HRESULT Next(ULONG celt, LPCONNECTIONPOINT * rgelt, ULONG * pceltFetched); + HRESULT Skip(ULONG celt); + HRESULT Reset(); + HRESULT Clone(LPENUMCONNECTIONPOINTS * ppenum); +} +alias IEnumConnectionPoints LPENUMCONNECTIONPOINTS; + +interface IEnumConnections : IUnknown { + HRESULT Next(ULONG cConnections, CONNECTDATA ** rgpcd, ULONG * pcFetched); + HRESULT Skip(ULONG cConnections); + HRESULT Reset(); + HRESULT Clone(LPENUMCONNECTIONS * ppEnum); +}alias IEnumConnections LPENUMCONNECTIONS; + +interface IEnumVARIANT : IUnknown { + HRESULT Next(ULONG celt, VARIANT *rgelt, ULONG *pceltFetched); + HRESULT Skip(ULONG celt); + HRESULT Reset(); + HRESULT Clone(LPENUMVARIANT * ppenum); +} +alias IEnumVARIANT LPENUMVARIANT; + + +interface IInternetSecurityManager : IUnknown { + HRESULT SetSecuritySite(LPINTERNETSECURITYMGRSITE pSite); + HRESULT GetSecuritySite(LPINTERNETSECURITYMGRSITE *ppSite); + HRESULT MapUrlToZone(LPCWSTR pwszUrl, DWORD *pdwZone, DWORD dwFlags); + HRESULT GetSecurityId(LPCWSTR pwszUrl, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved); + HRESULT ProcessUrlAction(LPCWSTR pwszUrl, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved); + HRESULT QueryCustomPolicy(LPCWSTR pwszUrl, REFGUID guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved); + HRESULT SetZoneMapping(DWORD dwZone, LPCWSTR lpszPattern, DWORD dwFlags); + HRESULT GetZoneMappings(DWORD dwZone, LPENUMSTRING * ppenumString, DWORD dwFlags); +} +interface IInternetSecurityMgrSite : IUnknown { + HRESULT EnableModeless(BOOL fEnable); + HRESULT GetWindow(HWND *phwnd); +} +alias IInternetSecurityMgrSite LPINTERNETSECURITYMGRSITE; + +interface IOleControl : IUnknown +{ + HRESULT GetControlInfo(CONTROLINFO* pCI); + HRESULT OnMnemonic(LPMSG pMsg); + HRESULT OnAmbientPropertyChange(DISPID dispID); + HRESULT FreezeEvents(BOOL bFreeze); +} +alias IOleControl LPOLECONTROL; + + +interface IOleControlSite : IUnknown { + HRESULT OnControlInfoChanged(); + HRESULT LockInPlaceActive( + BOOL fLock //Indicates whether to ensure the active state + ); + HRESULT GetExtendedControl( + LPDISPATCH* ppDisp //Address of output variable that receives the + // IDispatch interface pointer + ); + HRESULT TransformCoords( + POINTL* pPtlHimetric , //Address of POINTL structure + POINTF* pPtfContainer , //Address of POINTF structure + DWORD dwFlags //Flags indicating the exact conversion + ); + HRESULT TranslateAccelerator( + LPMSG pMsg , //Pointer to the structure + DWORD grfModifiers //Flags describing the state of the keys + ); + HRESULT OnFocus( + BOOL fGotFocus //Indicates whether the control gained focus + ); + HRESULT ShowPropertyFrame(); +} +alias IOleControlSite LPOLECONTROLSITE; + + +interface IPersistStreamInit : IPersist { + HRESULT IsDirty(); + HRESULT Load(LPSTREAM pStm); + HRESULT Save(LPSTREAM pStm, BOOL fClearDirty); + HRESULT GetSizeMax(ULARGE_INTEGER * pcbSize); + HRESULT InitNew(); +} + +interface IPropertyNotifySink : IUnknown { + HRESULT OnChanged(DISPID dispID); + HRESULT OnRequestEdit(DISPID dispID); +} +alias IPropertyNotifySink LPPROPERTYNOTIFYSINK; + +interface IProvideClassInfo : IUnknown +{ + HRESULT GetClassInfo(LPTYPEINFO * ppTI); +} +alias IProvideClassInfo LPPROVIDECLASSINFO; + +interface IProvideClassInfo2 : IProvideClassInfo +{ + HRESULT GetGUID(DWORD dwGuidKind, GUID * pGUID); +} +alias IProvideClassInfo2 LPPROVIDECLASSINFO2; + + +/* +interface IDocHostUIHandler : IUnknown +{ + int ShowContextMenu( int dwID, POINT* ppt, ComObj pcmdtReserved, ComObj pdispReserved); + int GetHostInfo( int pInfo ); + int ShowUI( int dwID, ComObj pActiveObject, ComObj pCommandTarget, ComObj pFrame, ComObj pDoc ); + int HideUI(); + int UpdateUI(); + int EnableModeless( int fEnable ); + int OnDocWindowActivate( int fActivate ); + int OnFrameWindowActivate( int fActivate ); + int ResizeBorder( RECT* prcBorder, ComObj pUIWindow, int fRameWindow ); + int TranslateAccelerator( int lpMsg, int pguidCmdGroup, int nCmdID ); + int GetOptionKeyPath( int pchKey, int dw ); + int GetDropTarget( ComObj pDropTarget, ComObj* ppDropTarget ); + int GetExternal( ComObj** ppDispatch ); + int TranslateUrl( int dwTranslate, int pchURLIn, int ppchURLOut ); + int FilterDataObject( ComObj pDO, ComObj* ppDORet ); +} + +interface IDocHostShowUI : IUnknown +{ + int ShowMessage( HWND hwnd, wchar* lpstrText, int lpstrCaption, int dwType, int lpstrHelpFile, int dwHelpContext, int plResult); + int ShowHelp( HWND hwnd, int pszHelpFile, int uCommand, int dwData, long ptMouse, ComObj pDispatchObjectHit ); +} +*/ +interface IServiceProvider : IUnknown { + HRESULT QueryService(REFGUID guidService, REFIID riid, void **ppv); +} +alias IServiceProvider LPSERVICEPROVIDER; + +interface ISpecifyPropertyPages : IUnknown { + HRESULT GetPages( + CAUUID *pPages //Pointer to structure + ); +} +alias ISpecifyPropertyPages LPSPECIFYPROPERTYPAGES; + + + + + + + +/* +interface IEnumFORMATETC : IEnumXXXX {} + + +interface IDataObject : IUnknown { + int GetData(int pFormatetc, int pmedium); + int GetDataHere(FORMATETC* pFormatetc, STGMEDIUM* pmedium); + int QueryGetData(FORMATETC* pFormatetc); + int GetCanonicalFormatEtc(int pFormatetcIn, int pFormatetcOut); + int SetData(int pFormatetc, int pmedium, int fRelease); + int EnumFormatEtc(int dwDirection, int ppenumFormatetc); + int DAdvise(int pFormatetc, int advf, int pAdvSink, int pdwConnection); + int DUnadvise(int dwConnection); + int EnumDAdvise(ComObj* ppenumAdvise); +} + +interface IDropSource : IUnknown { + int QueryContinueDrag(int fEscapePressed, int grfKeyState); + int GiveFeedback(int dwEffect); +} + +interface IDropTarget : IUnknown { + // NOTE : POINT* is splited to pt_x, pt_y + int DragEnter(ComObj pDataObject, int grfKeyState, int pt_x, int pt_y, int pdwEffect); + int DragOver(int grfKeyState, int pt_x, int pt_y, int pdwEffect); + int DragLeave(); + int Drop(ComObj pDataObject, int grfKeyState, int pt_x, int pt_y, int pdwEffect); +} +*/
--- a/dwt/internal/opengl/win32/native.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/opengl/win32/native.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,26 +1,26 @@ -module dwt.internal.opengl.win32.native; - -private import dwt.internal.win32.WINTYPES; - -extern (Windows): - -int ChoosePixelFormat( HDC, PIXELFORMATDESCRIPTOR* ); -int DescribePixelFormat( HDC, int, UINT, PIXELFORMATDESCRIPTOR* ); -int GetPixelFormat( HDC ); -BOOL SetPixelFormat( HDC, int, PIXELFORMATDESCRIPTOR* ); -BOOL SwapBuffers( HDC ); - -BOOL wglCopyContext(HGLRC, HGLRC, UINT); -HGLRC wglCreateContext(HDC); -HGLRC wglCreateLayerContext(HDC, int); -BOOL wglDeleteContext(HGLRC); -BOOL wglDescribeLayerPlane(HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR); -HGLRC wglGetCurrentContext(); -HDC wglGetCurrentDC(); -int wglGetLayerPaletteEntries(HDC, int, int, int, COLORREF*); -FARPROC wglGetProcAddress(LPCSTR); -BOOL wglMakeCurrent(HDC, HGLRC); -BOOL wglRealizeLayerPalette(HDC, int, BOOL); -int wglSetLayerPaletteEntries(HDC, int, int, int, COLORREF*); -BOOL wglShareLists(HGLRC, HGLRC); -BOOL wglSwapLayerBuffers(HDC, UINT); \ No newline at end of file +module dwt.internal.opengl.win32.native; + +private import dwt.internal.win32.WINTYPES; + +extern (Windows): + +int ChoosePixelFormat( HDC, PIXELFORMATDESCRIPTOR* ); +int DescribePixelFormat( HDC, int, UINT, PIXELFORMATDESCRIPTOR* ); +int GetPixelFormat( HDC ); +BOOL SetPixelFormat( HDC, int, PIXELFORMATDESCRIPTOR* ); +BOOL SwapBuffers( HDC ); + +BOOL wglCopyContext(HGLRC, HGLRC, UINT); +HGLRC wglCreateContext(HDC); +HGLRC wglCreateLayerContext(HDC, int); +BOOL wglDeleteContext(HGLRC); +BOOL wglDescribeLayerPlane(HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR); +HGLRC wglGetCurrentContext(); +HDC wglGetCurrentDC(); +int wglGetLayerPaletteEntries(HDC, int, int, int, COLORREF*); +FARPROC wglGetProcAddress(LPCSTR); +BOOL wglMakeCurrent(HDC, HGLRC); +BOOL wglRealizeLayerPalette(HDC, int, BOOL); +int wglSetLayerPaletteEntries(HDC, int, int, int, COLORREF*); +BOOL wglShareLists(HGLRC, HGLRC); +BOOL wglSwapLayerBuffers(HDC, UINT);
--- a/dwt/internal/win32/WINTYPES.d Tue Jul 01 10:15:59 2008 +0200 +++ b/dwt/internal/win32/WINTYPES.d Tue Jul 01 10:18:15 2008 +0200 @@ -1,15755 +1,15755 @@ -/* - * This module declared types required by DWT but not in std.c.windows.windows - */ - -module dwt.internal.win32.WINTYPES; - -/* - adopted form tango - Author: Trevor Parscal -*/ - -/+ Aliases, Types, and Constants +/ -const void* NULL = null; -alias int SCODE; -alias void VOID; -alias void* POINTER; -alias ushort ATOM; -alias int WINBOOL; -alias WINBOOL BOOL; -alias uint CALTYPE; -alias uint CALID; -alias ubyte CCHAR; -alias ubyte* PCHAR; -alias uint COLORREF; -alias uint TCOLORREF; -alias ubyte CHAR; -alias ubyte BYTE; -alias short INT16; -alias ushort UINT16; -alias short SHORT; -alias int INT; -alias int WINT; -alias int LONG; -alias ushort WORD; -alias uint DWORD; -alias int INT_PTR; -alias uint UINT_PTR; -alias int LONG_PTR; -alias uint ULONG_PTR; -alias uint PROPID; -const BOOL FALSE = 0; -const BOOL TRUE = -1; -alias ubyte* PANSICHAR; -alias wchar* PWIDECHAR; -alias int* PINTEGER; -alias long LONGLONG; -alias LONGLONG* PLONGLONG; -alias ulong DWORDLONG; -alias DWORDLONG* PDWORDLONG; -alias float FLOAT; -alias void* HANDLE; -alias HANDLE HACCEL; -alias HANDLE HBITMAP; -alias HANDLE HBRUSH; -alias HANDLE HCOLORSPACE; -alias HANDLE HCONV; -alias HANDLE HCONVLIST; -alias HANDLE HCURSOR; -alias HANDLE HDBC; -alias HANDLE HDC; -alias HANDLE HDDEDATA; -alias HANDLE HDESK; -alias HANDLE HDROP; -alias HANDLE HDWP; -alias HANDLE HENHMETAFILE; -alias HANDLE HENV; -alias HANDLE HFILE; -alias HANDLE HFONT; -alias HANDLE HGDIOBJ; -alias HANDLE HGLOBAL; -alias HANDLE HGLRC; -alias HANDLE HHOOK; -alias HANDLE HICON; -alias HANDLE HIMAGELIST; -alias HANDLE HINST; -alias HINST HINSTANCE; -alias HANDLE HKEY; -alias HANDLE HKL; -alias HANDLE HLOCAL; -alias HANDLE HMENU; -alias HANDLE HMETAFILE; -alias HANDLE HMODULE; -alias HANDLE HPALETTE; -alias HANDLE HPEN; -alias HANDLE HRASCONN; -alias int HRESULT; -alias HANDLE HRGN; -alias HANDLE HRSRC; -alias HANDLE HSTMT; -alias HANDLE HSZ; -alias HANDLE HWINSTA; -alias HANDLE HWND; -alias ushort LANGID; -alias DWORD LCID; -alias DWORD LCTYPE; -alias int LPARAM; -alias ushort* LP; -alias WINBOOL* LPBOOL; -alias ubyte* LPBYTE; -alias PCHAR LPCCH; -alias PCHAR LPCH; -alias COLORREF* LPCOLORREF; -alias PCHAR LPCSTR; -alias TCHAR* LPCTSTR; -alias wchar* LPCWCH; -alias wchar* LPCWSTR; -alias DWORD* LPDWORD; -alias HANDLE* LPHANDLE; -alias int* LPINT; -alias int* LPLONG; -alias PCHAR LPSTR; -alias PCHAR LPTCH; -alias TCHAR* LPTSTR; -alias int LRESULT; -alias POINTER LPVOID; -alias POINTER LPCVOID; -alias wchar* LPWCH; -alias wchar* LPWORD; -alias wchar* LPWSTR; -alias wchar* NWPSTR; -alias WINBOOL* PWINBOOL; -alias ubyte* PBOOLEAN; -alias ubyte* PBYTE; -alias PCHAR PCCH; -alias PCHAR PCH; -alias PCHAR PCSTR; -alias wchar* PCWCH; -alias wchar* PCWSTR; -alias DWORD* PDWORD; -alias float* PFLOAT; -alias HANDLE* PHANDLE; -alias HKEY* PHKEY; -alias int* PINT; -alias int* PLONG; -alias int* PSHORT; -alias PCHAR PSTR; -alias PCHAR PSZ; -alias ubyte* PTBYTE; -alias PCHAR PTCH; -alias PCHAR PTCHAR; -alias PCHAR PTSTR; -alias ubyte* PUCHAR; -alias wchar* PWCH; -alias wchar* PWCHAR; -alias ushort* PWORD; -alias uint* PUINT; -alias uint* PULONG; -alias ushort* PUSHORT; -alias POINTER PVOID; -// NOTE: This is defined in sqltypes. Probably shouldn't be here. Commenting for now. -//alias int RETCODE; -alias HANDLE SC_HANDLE; -alias LPVOID SC_LOCK; -alias SC_HANDLE* LPSC_HANDLE; -alias DWORD SERVICE_STATUS_HANDLE; -alias ubyte TBYTE; - -version(Win32SansUnicode){ - alias ubyte TCHAR; -}else{ - alias wchar TCHAR; -} - -alias ubyte BCHAR; -alias ubyte UCHAR; -alias wchar WCHAR; -alias uint UINT; -alias uint ULONG; -alias ushort USHORT; -alias uint WPARAM; -alias int ACL_INFORMATION_CLASS; - -alias GUID IID; -alias IID* REFIID; - -// Cast a string literal to a ubyte*=PCHAR -template _PCHAR( char[] a ){ - const PCHAR _PCHAR = cast(PCHAR)a.ptr; -} - -enum { AclRevisionInformation = 1, AclSizeInformation, }; -alias ACL_INFORMATION_CLASS _ACL_INFORMATION_CLASS; -alias int MEDIA_TYPE; -enum { Unknown, F5_1Pt2_512, F3_1Pt44_512, F3_2Pt88_512, F3_20Pt8_512, F3_720_512, F5_360_512, F5_320_512, F5_320_1024, F5_180_512, F5_160_512, RemovableMedia, FixedMedia, }; -alias MEDIA_TYPE _MEDIA_TYPE; -const int RASCS_DONE = (0x2000); -const int RASCS_PAUSED = (0x1000); -alias int RASCONNSTATE; -enum { RASCS_OpenPort = 0, RASCS_PortOpened, RASCS_ConnectDevice, RASCS_DeviceConnected, RASCS_AllDevicesConnected, RASCS_Authenticate, RASCS_AuthNotify, RASCS_AuthRetry, RASCS_AuthCallback, RASCS_AuthChangePassword, RASCS_AuthProject, RASCS_AuthLinkSpeed, RASCS_AuthAck, RASCS_ReAuthenticate, RASCS_Authenticated, RASCS_PrepareForCallback, RASCS_WaitForModemReset, RASCS_WaitForCallback, RASCS_Projected, RASCS_StartAuthentication, RASCS_CallbackComplete, RASCS_LogonNetwork, RASCS_Interactive = RASCS_PAUSED, RASCS_RetryAuthentication, RASCS_CallbackSetByCaller, RASCS_PasswordExpired, RASCS_Connected = RASCS_DONE, RASCS_Disconnected, }; -alias RASCONNSTATE _RASCONNSTATE; -alias int RASPROJECTION; -enum { RASP_Amb = 0x10000, RASP_PppNbf = 0x803F, RASP_PppIpx = 0x802B, RASP_PppIp = 0x8021, }; -alias RASPROJECTION _RASPROJECTION; -alias int SECURITY_IMPERSONATION_LEVEL; -enum { SecurityAnonymous, SecurityIdentification, SecurityImpersonation, SecurityDelegation, }; -alias SECURITY_IMPERSONATION_LEVEL _SECURITY_IMPERSONATION_LEVEL; -alias int SID_NAME_USE; -enum { SidTypeUser = 1, SidTypeGroup, SidTypeDomain, SidTypeAlias, SidTypeWellKnownGroup, SidTypeDeletedAccount, SidTypeInvalid, SidTypeUnknown, }; -alias SID_NAME_USE* PSID_NAME_USE; -alias SID_NAME_USE _SID_NAME_USE; -alias int TOKEN_INFORMATION_CLASS; -enum { TokenUser = 1, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, TokenStatistics, }; -alias TOKEN_INFORMATION_CLASS _TOKEN_INFORMATION_CLASS; -alias int TOKEN_TYPE; -enum { TokenPrimary = 1, TokenImpersonation, }; -alias TOKEN_TYPE TAGTOKEN_TYPE; - -extern(Windows){ -alias int (*BFFCALLBACK)(HWND, UINT, LPARAM, LPARAM); -alias UINT (*LPCCHOOKPROC)(HWND, UINT, WPARAM, LPARAM); -alias UINT (*LPCFHOOKPROC)(HWND, UINT, WPARAM, LPARAM); -alias POINTER PTHREAD_START_ROUTINE; -alias PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE; -alias DWORD (*EDITSTREAMCALLBACK)(DWORD, LPBYTE, LONG, LONG); -alias UINT (*LPFRHOOKPROC)(HWND, UINT, WPARAM, LPARAM); -alias UINT (*LPOFNHOOKPROC)(HWND, UINT, WPARAM, LPARAM); -alias UINT (*LPPRINTHOOKPROC)(HWND, UINT, WPARAM, LPARAM); -alias UINT (*LPSETUPHOOKPROC)(HWND, UINT, WPARAM, LPARAM); -alias LRESULT (*DLGPROC)(HWND, UINT, WPARAM, LPARAM); -alias int (*PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM); -alias void (*LPSERVICE_MAIN_FUNCTION)(DWORD); -alias int (*PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM); -alias LRESULT (*WNDPROC)(HWND, UINT, WPARAM, LPARAM); -alias POINTER FARPROC; -alias FARPROC PROC; -alias WINBOOL (*ENUMRESTYPEPROC)(HANDLE, LPTSTR, LONG); -alias WINBOOL (*ENUMRESNAMEPROC)(HANDLE, LPCTSTR, LPTSTR, LONG); -alias WINBOOL (*ENUMRESLANGPROC)(HANDLE, LPCTSTR, LPCTSTR, ushort, LONG); -alias FARPROC DESKTOPENUMPROC; -alias WINBOOL (*ENUMWINDOWSPROC)(HWND, LPARAM); -alias WINBOOL (*ENUMWINDOWSTATIONPROC)(LPTSTR, LPARAM); -alias void (*SENDASYNCPROC)(HWND, UINT, DWORD); -alias void (*TIMERPROC)(HWND, UINT, UINT, DWORD); -alias BOOL(*MONITORENUMPROC)(HMONITOR, HDC, RECT*, LPARAM); -alias FARPROC GRAYSTRINGPROC; -alias WINBOOL (*DRAWSTATEPROC)(HDC, LPARAM, WPARAM, int, int); -alias WINBOOL (*PROPENUMPROCEX)(HWND, LPCTSTR, HANDLE, DWORD); -alias WINBOOL (*PROPENUMPROC)(HWND, LPCTSTR, HANDLE); -alias LRESULT (*HOOKPROC)(int, WPARAM, LPARAM); -alias void (*ENUMOBJECTSPROC)(LPVOID); -alias void (*LINEDDAPROC)(int, int); -alias WINBOOL (*TABORTPROC)(HDC, int); -alias UINT (*LPPAGEPAINTHOOK)(HWND, UINT, WPARAM, LPARAM); -alias UINT (*LPPAGESETUPHOOK)(HWND, UINT, WPARAM, LPARAM); -alias int (*ICMENUMPROC)(LPTSTR, LPARAM); -alias LONG (*EDITWORDBREAKPROCEX)(PCHAR, LONG, ubyte, INT); -alias int (*PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM); -alias WINBOOL (*LOCALE_ENUMPROC)(LPTSTR); -alias WINBOOL (*CODEPAGE_ENUMPROC)(LPTSTR); -alias WINBOOL (*DATEFMT_ENUMPROC)(LPTSTR); -alias WINBOOL (*TIMEFMT_ENUMPROC)(LPTSTR); -alias WINBOOL (*CALINFO_ENUMPROC)(LPTSTR); -alias WINBOOL (*PHANDLER_ROUTINE)(DWORD); -alias WINBOOL (*LPHANDLER_FUNCTION)(DWORD); -alias void (*PTIMERAPCROUTINE)(LPVOID, DWORD, DWORD); -alias UINT (*PFNGETPROFILEPATH)(LPCTSTR, LPSTR, UINT); -alias UINT (*PFNRECONCILEPROFILE)(LPCTSTR, LPCTSTR, DWORD); -alias WINBOOL (*PFNPROCESSPOLICIES)(HWND, LPCTSTR, LPCTSTR, LPCTSTR, DWORD); -} - -const { - LPCTSTR SE_CREATE_TOKEN_NAME = ("SeCreateTokenPrivilege"); - LPCTSTR SE_ASSIGNPRIMARYTOKEN_NAME = ("SeAssignPrimaryTokenPrivilege"); - LPCTSTR SE_LOCK_MEMORY_NAME = ("SeLockMemoryPrivilege"); - LPCTSTR SE_INCREASE_QUOTA_NAME = ("SeIncreaseQuotaPrivilege"); - LPCTSTR SE_UNSOLICITED_INPUT_NAME = ("SeUnsolicitedInputPrivilege"); - LPCTSTR SE_MACHINE_ACCOUNT_NAME = ("SeMachineAccountPrivilege"); - LPCTSTR SE_TCB_NAME = ("SeTcbPrivilege"); - LPCTSTR SE_SECURITY_NAME = ("SeSecurityPrivilege"); - LPCTSTR SE_TAKE_OWNERSHIP_NAME = ("SeTakeOwnershipPrivilege"); - LPCTSTR SE_LOAD_DRIVER_NAME = ("SeLoadDriverPrivilege"); - LPCTSTR SE_SYSTEM_PROFILE_NAME = ("SeSystemProfilePrivilege"); - LPCTSTR SE_SYSTEMTIME_NAME = ("SeSystemtimePrivilege"); - LPCTSTR SE_PROF_SINGLE_PROCESS_NAME = ("SeProfileSingleProcessPrivilege"); - LPCTSTR SE_INC_BASE_PRIORITY_NAME = ("SeIncreaseBasePriorityPrivilege"); - LPCTSTR SE_CREATE_PAGEFILE_NAME = ("SeCreatePagefilePrivilege"); - LPCTSTR SE_CREATE_PERMANENT_NAME = ("SeCreatePermanentPrivilege"); - LPCTSTR SE_BACKUP_NAME = ("SeBackupPrivilege"); - LPCTSTR SE_RESTORE_NAME = ("SeRestorePrivilege"); - LPCTSTR SE_SHUTDOWN_NAME = ("SeShutdownPrivilege"); - LPCTSTR SE_DEBUG_NAME = ("SeDebugPrivilege"); - LPCTSTR SE_AUDIT_NAME = ("SeAuditPrivilege"); - LPCTSTR SE_SYSTEM_ENVIRONMENT_NAME = ("SeSystemEnvironmentPrivilege"); - LPCTSTR SE_CHANGE_NOTIFY_NAME = ("SeChangeNotifyPrivilege"); - LPCTSTR SE_REMOTE_SHUTDOWN_NAME = ("SeRemoteShutdownPrivilege"); - - LPCSTR SERVICES_ACTIVE_DATABASEA = _PCHAR!("ServicesActive"); - LPCWSTR SERVICES_ACTIVE_DATABASEW = ("ServicesActive"); - LPCSTR SERVICES_FAILED_DATABASEA = _PCHAR!("ServicesFailed"); - LPCWSTR SERVICES_FAILED_DATABASEW = ("ServicesFailed"); - LPCSTR SC_GROUP_IDENTIFIERA = _PCHAR!("+"); - LPCWSTR SC_GROUP_IDENTIFIERW = ("+"); - version(Win32SansUnicode){ - alias SERVICES_ACTIVE_DATABASEA SERVICES_ACTIVE_DATABASE; - alias SERVICES_FAILED_DATABASEA SERVICES_FAILED_DATABASE; - alias SC_GROUP_IDENTIFIERA SC_GROUP_IDENTIFIER; - } - else{ - alias SERVICES_ACTIVE_DATABASEW SERVICES_ACTIVE_DATABASE; - alias SERVICES_FAILED_DATABASEW SERVICES_FAILED_DATABASE; - alias SC_GROUP_IDENTIFIERW SC_GROUP_IDENTIFIER; - } -} - -extern(Windows){ -alias HDDEDATA (*PFNCALLBACK)(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, DWORD); -} -alias PFNCALLBACK CALLB; -alias WINBOOL SECURITY___FILE___TRACKING_MODE; -alias FARPROC WNDENUMPROC; -alias FARPROC ENHMFENUMPROC; -alias DWORD CCSTYLE; -alias CCSTYLE* PCCSTYLE; -alias CCSTYLE* LPCCSTYLE; -alias DWORD CCSTYLEFLAGA; -alias CCSTYLEFLAGA* PCCSTYLEFLAGA; -alias CCSTYLEFLAGA* LPCCSTYLEFLAGA; - -const HANDLE INVALID_HANDLE_VALUE = cast(HANDLE) -1; - - -enum : DWORD { - SM_CXVIRTUALSCREEN = (76), - SM_CYVIRTUALSCREEN = (77), - MONITORINFOF_PRIMARY = (1), - LZERROR_UNKNOWNALG = -((8)), - LZERROR_BADVALUE = -((7)), - LZERROR_GLOBLOCK = -((6)), - LZERROR_GLOBALLOC = -((5)), - LZERROR_WRITE = -((4)), - LZERROR_READ = -((3)), - LZERROR_BADOUTHANDLE = -((2)), - LZERROR_BADINHANDLE = -((1)), - NO_ERROR = (0), - ERROR_SUCCESS = (0), - ERROR_INVALID_FUNCTION = (1), - ERROR_FILE_NOT_FOUND = (2), - ERROR_PATH_NOT_FOUND = (3), - ERROR_TOO_MANY_OPEN_FILES = (4), - ERROR_ACCESS_DENIED = (5), - ERROR_INVALID_HANDLE = (6), - ERROR_ARENA_TRASHED = (7), - ERROR_NOT_ENOUGH_MEMORY = (8), - ERROR_INVALID_BLOCK = (9), - ERROR_BAD_ENVIRONMENT = (10), - ERROR_BAD_FORMAT = (11), - ERROR_INVALID_ACCESS = (12), - ERROR_INVALID_DATA = (13), - ERROR_OUTOFMEMORY = (14), - ERROR_INVALID_DRIVE = (15), - ERROR_CURRENT_DIRECTORY = (16), - ERROR_NOT_SAME_DEVICE = (17), - ERROR_NO_MORE_FILES = (18), - ERROR_WRITE_PROTECT = (19), - ERROR_BAD_UNIT = (20), - ERROR_NOT_READY = (21), - ERROR_BAD_COMMAND = (22), - ERROR_CRC = (23), - ERROR_BAD_LENGTH = (24), - ERROR_SEEK = (25), - ERROR_NOT_DOS_DISK = (26), - ERROR_SECTOR_NOT_FOUND = (27), - ERROR_OUT_OF_PAPER = (28), - ERROR_WRITE_FAULT = (29), - ERROR_READ_FAULT = (30), - ERROR_GEN_FAILURE = (31), - ERROR_SHARING_VIOLATION = (32), - ERROR_LOCK_VIOLATION = (33), - ERROR_WRONG_DISK = (34), - ERROR_SHARING_BUFFER_EXCEEDED = (36), - ERROR_HANDLE_EOF = (38), - ERROR_HANDLE_DISK_FULL = (39), - ERROR_NOT_SUPPORTED = (50), - ERROR_REM_NOT_LIST = (51), - ERROR_DUP_NAME = (52), - ERROR_BAD_NETPATH = (53), - ERROR_NETWORK_BUSY = (54), - ERROR_DEV_NOT_EXIST = (55), - ERROR_TOO_MANY_CMDS = (56), - ERROR_ADAP_HDW_ERR = (57), - ERROR_BAD_NET_RESP = (58), - ERROR_UNEXP_NET_ERR = (59), - ERROR_BAD_REM_ADAP = (60), - ERROR_PRINTQ_FULL = (61), - ERROR_NO_SPOOL_SPACE = (62), - ERROR_PRINT_CANCELLED = (63), - ERROR_NETNAME_DELETED = (64), - ERROR_NETWORK_ACCESS_DENIED = (65), - ERROR_BAD_DEV_TYPE = (66), - ERROR_BAD_NET_NAME = (67), - ERROR_TOO_MANY_NAMES = (68), - ERROR_TOO_MANY_SESS = (69), - ERROR_SHARING_PAUSED = (70), - ERROR_REQ_NOT_ACCEP = (71), - ERROR_REDIR_PAUSED = (72), - ERROR_FILE_EXISTS = (80), - ERROR_CANNOT_MAKE = (82), - ERROR_FAIL_I24 = (83), - ERROR_OUT_OF_STRUCTURES = (84), - ERROR_ALREADY_ASSIGNED = (85), - ERROR_INVALID_PASSWORD = (86), - ERROR_INVALID_PARAMETER = (87), - ERROR_NET_WRITE_FAULT = (88), - ERROR_NO_PROC_SLOTS = (89), - ERROR_TOO_MANY_SEMAPHORES = (100), - ERROR_EXCL_SEM_ALREADY_OWNED = (101), - ERROR_SEM_IS_SET = (102), - ERROR_TOO_MANY_SEM_REQUESTS = (103), - ERROR_INVALID_AT_INTERRUPT_TIME = (104), - ERROR_SEM_OWNER_DIED = (105), - ERROR_SEM_USER_LIMIT = (106), - ERROR_DISK_CHANGE = (107), - ERROR_DRIVE_LOCKED = (108), - ERROR_BROKEN_PIPE = (109), - ERROR_OPEN_FAILED = (110), - ERROR_BUFFER_OVERFLOW = (111), - ERROR_DISK_FULL = (112), - ERROR_NO_MORE_SEARCH_HANDLES = (113), - ERROR_INVALID_TARGET_HANDLE = (114), - ERROR_INVALID_CATEGORY = (117), - ERROR_INVALID_VERIFY_SWITCH = (118), - ERROR_BAD_DRIVER_LEVEL = (119), - ERROR_CALL_NOT_IMPLEMENTED = (120), - ERROR_SEM_TIMEOUT = (121), - ERROR_INSUFFICIENT_BUFFER = (122), - ERROR_INVALID_NAME = (123), - ERROR_INVALID_LEVEL = (124), - ERROR_NO_VOLUME_LABEL = (125), - ERROR_MOD_NOT_FOUND = (126), - ERROR_PROC_NOT_FOUND = (127), - ERROR_WAIT_NO_CHILDREN = (128), - ERROR_CHILD_NOT_COMPLETE = (129), - ERROR_DIRECT_ACCESS_HANDLE = (130), - ERROR_NEGATIVE_SEEK = (131), - ERROR_SEEK_ON_DEVICE = (132), - ERROR_IS_JOIN_TARGET = (133), - ERROR_IS_JOINED = (134), - ERROR_IS_SUBSTED = (135), - ERROR_NOT_JOINED = (136), - ERROR_NOT_SUBSTED = (137), - ERROR_JOIN_TO_JOIN = (138), - ERROR_SUBST_TO_SUBST = (139), - ERROR_JOIN_TO_SUBST = (140), - ERROR_SUBST_TO_JOIN = (141), - ERROR_BUSY_DRIVE = (142), - ERROR_SAME_DRIVE = (143), - ERROR_DIR_NOT_ROOT = (144), - ERROR_DIR_NOT_EMPTY = (145), - ERROR_IS_SUBST_PATH = (146), - ERROR_IS_JOIN_PATH = (147), - ERROR_PATH_BUSY = (148), - ERROR_IS_SUBST_TARGET = (149), - ERROR_SYSTEM_TRACE = (150), - ERROR_INVALID_EVENT_COUNT = (151), - ERROR_TOO_MANY_MUXWAITERS = (152), - ERROR_INVALID_LIST_FORMAT = (153), - ERROR_LABEL_TOO_LONG = (154), - ERROR_TOO_MANY_TCBS = (155), - ERROR_SIGNAL_REFUSED = (156), - ERROR_DISCARDED = (157), - ERROR_NOT_LOCKED = (158), - ERROR_BAD_THREADID_ADDR = (159), - ERROR_BAD_ARGUMENTS = (160), - ERROR_BAD_PATHNAME = (161), - ERROR_SIGNAL_PENDING = (162), - ERROR_MAX_THRDS_REACHED = (164), - ERROR_LOCK_FAILED = (167), - ERROR_BUSY = (170), - ERROR_CANCEL_VIOLATION = (173), - ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = (174), - ERROR_INVALID_SEGMENT_NUMBER = (180), - ERROR_INVALID_ORDINAL = (182), - ERROR_ALREADY_EXISTS = (183), - ERROR_INVALID_FLAG_NUMBER = (186), - ERROR_SEM_NOT_FOUND = (187), - ERROR_INVALID_STARTING_CODESEG = (188), - ERROR_INVALID_STACKSEG = (189), - ERROR_INVALID_MODULETYPE = (190), - ERROR_INVALID_EXE_SIGNATURE = (191), - ERROR_EXE_MARKED_INVALID = (192), - ERROR_BAD_EXE_FORMAT = (193), - ERROR_ITERATED_DATA_EXCEEDS_64k = (194), - ERROR_INVALID_MINALLOCSIZE = (195), - ERROR_DYNLINK_FROM_INVALID_RING = (196), - ERROR_IOPL_NOT_ENABLED = (197), - ERROR_INVALID_SEGDPL = (198), - ERROR_AUTODATASEG_EXCEEDS_64k = (199), - ERROR_RING2SEG_MUST_BE_MOVABLE = (200), - ERROR_RELOC_CHAIN_XEEDS_SEGLIM = (201), - ERROR_INFLOOP_IN_RELOC_CHAIN = (202), - ERROR_ENVVAR_NOT_FOUND = (203), - ERROR_NO_SIGNAL_SENT = (205), - ERROR_FILENAME_EXCED_RANGE = (206), - ERROR_RING2_STACK_IN_USE = (207), - ERROR_META_EXPANSION_TOO_LONG = (208), - ERROR_INVALID_SIGNAL_NUMBER = (209), - ERROR_THREAD_1_INACTIVE = (210), - ERROR_LOCKED = (212), - ERROR_TOO_MANY_MODULES = (214), - ERROR_NESTING_NOT_ALLOWED = (215), - ERROR_BAD_PIPE = (230), - ERROR_PIPE_BUSY = (231), - ERROR_NO_DATA = (232), - ERROR_PIPE_NOT_CONNECTED = (233), - ERROR_MORE_DATA = (234), - ERROR_VC_DISCONNECTED = (240), - ERROR_INVALID_EA_NAME = (254), - ERROR_EA_LIST_INCONSISTENT = (255), - ERROR_NO_MORE_ITEMS = (259), - ERROR_CANNOT_COPY = (266), - ERROR_DIRECTORY = (267), - ERROR_EAS_DIDNT_FIT = (275), - ERROR_EA_FILE_CORRUPT = (276), - ERROR_EA_TABLE_FULL = (277), - ERROR_INVALID_EA_HANDLE = (278), - ERROR_EAS_NOT_SUPPORTED = (282), - ERROR_NOT_OWNER = (288), - ERROR_TOO_MANY_POSTS = (298), - ERROR_PARTIAL_COPY = (299), - ERROR_MR_MID_NOT_FOUND = (317), - ERROR_INVALID_ADDRESS = (487), - ERROR_ARITHMETIC_OVERFLOW = (534), - ERROR_PIPE_CONNECTED = (535), - ERROR_PIPE_LISTENING = (536), - ERROR_EA_ACCESS_DENIED = (994), - ERROR_OPERATION_ABORTED = (995), - ERROR_IO_INCOMPLETE = (996), - ERROR_IO_PENDING = (997), - ERROR_NOACCESS = (998), - ERROR_SWAPERROR = (999), - ERROR_STACK_OVERFLOW = (1001), - ERROR_INVALID_MESSAGE = (1002), - ERROR_CAN_NOT_COMPLETE = (1003), - ERROR_INVALID_FLAGS = (1004), - ERROR_UNRECOGNIZED_VOLUME = (1005), - ERROR_FILE_INVALID = (1006), - ERROR_FULLSCREEN_MODE = (1007), - ERROR_NO_TOKEN = (1008), - ERROR_BADDB = (1009), - ERROR_BADKEY = (1010), - ERROR_CANTOPEN = (1011), - ERROR_CANTREAD = (1012), - ERROR_CANTWRITE = (1013), - ERROR_REGISTRY_RECOVERED = (1014), - ERROR_REGISTRY_CORRUPT = (1015), - ERROR_REGISTRY_IO_FAILED = (1016), - ERROR_NOT_REGISTRY_FILE = (1017), - ERROR_KEY_DELETED = (1018), - ERROR_NO_LOG_SPACE = (1019), - ERROR_KEY_HAS_CHILDREN = (1020), - ERROR_CHILD_MUST_BE_VOLATILE = (1021), - ERROR_NOTIFY_ENUM_DIR = (1022), - ERROR_DEPENDENT_SERVICES_RUNNING = (1051), - ERROR_INVALID_SERVICE_CONTROL = (1052), - ERROR_SERVICE_REQUEST_TIMEOUT = (1053), - ERROR_SERVICE_NO_THREAD = (1054), - ERROR_SERVICE_DATABASE_LOCKED = (1055), - ERROR_SERVICE_ALREADY_RUNNING = (1056), - ERROR_INVALID_SERVICE_ACCOUNT = (1057), - ERROR_SERVICE_DISABLED = (1058), - ERROR_CIRCULAR_DEPENDENCY = (1059), - ERROR_SERVICE_DOES_NOT_EXIST = (1060), - ERROR_SERVICE_CANNOT_ACCEPT_CTRL = (1061), - ERROR_SERVICE_NOT_ACTIVE = (1062), - ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = (1063), - ERROR_EXCEPTION_IN_SERVICE = (1064), - ERROR_DATABASE_DOES_NOT_EXIST = (1065), - ERROR_SERVICE_SPECIFIC_ERROR = (1066), - ERROR_PROCESS_ABORTED = (1067), - ERROR_SERVICE_DEPENDENCY_FAIL = (1068), - ERROR_SERVICE_LOGON_FAILED = (1069), - ERROR_SERVICE_START_HANG = (1070), - ERROR_INVALID_SERVICE_LOCK = (1071), - ERROR_SERVICE_MARKED_FOR_DELETE = (1072), - ERROR_SERVICE_EXISTS = (1073), - ERROR_ALREADY_RUNNING_LKG = (1074), - ERROR_SERVICE_DEPENDENCY_DELETED = (1075), - ERROR_BOOT_ALREADY_ACCEPTED = (1076), - ERROR_SERVICE_NEVER_STARTED = (1077), - ERROR_DUPLICATE_SERVICE_NAME = (1078), - ERROR_END_OF_MEDIA = (1100), - ERROR_FILEMARK_DETECTED = (1101), - ERROR_BEGINNING_OF_MEDIA = (1102), - ERROR_SETMARK_DETECTED = (1103), - ERROR_NO_DATA_DETECTED = (1104), - ERROR_PARTITION_FAILURE = (1105), - ERROR_INVALID_BLOCK_LENGTH = (1106), - ERROR_DEVICE_NOT_PARTITIONED = (1107), - ERROR_UNABLE_TO_LOCK_MEDIA = (1108), - ERROR_UNABLE_TO_UNLOAD_MEDIA = (1109), - ERROR_MEDIA_CHANGED = (1110), - ERROR_BUS_RESET = (1111), - ERROR_NO_MEDIA_IN_DRIVE = (1112), - ERROR_NO_UNICODE_TRANSLATION = (1113), - ERROR_DLL_INIT_FAILED = (1114), - ERROR_SHUTDOWN_IN_PROGRESS = (1115), - ERROR_NO_SHUTDOWN_IN_PROGRESS = (1116), - ERROR_IO_DEVICE = (1117), - ERROR_SERIAL_NO_DEVICE = (1118), - ERROR_IRQ_BUSY = (1119), - ERROR_MORE_WRITES = (1120), - ERROR_COUNTER_TIMEOUT = (1121), - ERROR_FLOPPY_ID_MARK_NOT_FOUND = (1122), - ERROR_FLOPPY_WRONG_CYLINDER = (1123), - ERROR_FLOPPY_UNKNOWN_ERROR = (1124), - ERROR_FLOPPY_BAD_REGISTERS = (1125), - ERROR_DISK_RECALIBRATE_FAILED = (1126), - ERROR_DISK_OPERATION_FAILED = (1127), - ERROR_DISK_RESET_FAILED = (1128), - ERROR_EOM_OVERFLOW = (1129), - ERROR_NOT_ENOUGH_SERVER_MEMORY = (1130), - ERROR_POSSIBLE_DEADLOCK = (1131), - ERROR_MAPPED_ALIGNMENT = (1132), - ERROR_SET_POWER_STATE_VETOED = (1140), - ERROR_SET_POWER_STATE_FAILED = (1141), - ERROR_OLD_WIN_VERSION = (1150), - ERROR_APP_WRONG_OS = (1151), - ERROR_SINGLE_INSTANCE_APP = (1152), - ERROR_RMODE_APP = (1153), - ERROR_INVALID_DLL = (1154), - ERROR_NO_ASSOCIATION = (1155), - ERROR_DDE_FAIL = (1156), - ERROR_DLL_NOT_FOUND = (1157), - ERROR_BAD_USERNAME = (2202), - ERROR_NOT_CONNECTED = (2250), - ERROR_OPEN_FILES = (2401), - ERROR_ACTIVE_CONNECTIONS = (2402), - ERROR_DEVICE_IN_USE = (2404), - ERROR_BAD_DEVICE = (1200), - ERROR_CONNECTION_UNAVAIL = (1201), - ERROR_DEVICE_ALREADY_REMEMBERED = (1202), - ERROR_NO_NET_OR_BAD_PATH = (1203), - ERROR_BAD_PROVIDER = (1204), - ERROR_CANNOT_OPEN_PROFILE = (1205), - ERROR_BAD_PROFILE = (1206), - ERROR_NOT_CONTAINER = (1207), - ERROR_EXTENDED_ERROR = (1208), - ERROR_INVALID_GROUPNAME = (1209), - ERROR_INVALID_COMPUTERNAME = (1210), - ERROR_INVALID_EVENTNAME = (1211), - ERROR_INVALID_DOMAINNAME = (1212), - ERROR_INVALID_SERVICENAME = (1213), - ERROR_INVALID_NETNAME = (1214), - ERROR_INVALID_SHARENAME = (1215), - ERROR_INVALID_PASSWORDNAME = (1216), - ERROR_INVALID_MESSAGENAME = (1217), - ERROR_INVALID_MESSAGEDEST = (1218), - ERROR_SESSION_CREDENTIAL_CONFLICT = (1219), - ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = (1220), - ERROR_DUP_DOMAINNAME = (1221), - ERROR_NO_NETWORK = (1222), - ERROR_CANCELLED = (1223), - ERROR_USER_MAPPED_FILE = (1224), - ERROR_CONNECTION_REFUSED = (1225), - ERROR_GRACEFUL_DISCONNECT = (1226), - ERROR_ADDRESS_ALREADY_ASSOCIATED = (1227), - ERROR_ADDRESS_NOT_ASSOCIATED = (1228), - ERROR_CONNECTION_INVALID = (1229), - ERROR_CONNECTION_ACTIVE = (1230), - ERROR_NETWORK_UNREACHABLE = (1231), - ERROR_HOST_UNREACHABLE = (1232), - ERROR_PROTOCOL_UNREACHABLE = (1233), - ERROR_PORT_UNREACHABLE = (1234), - ERROR_REQUEST_ABORTED = (1235), - ERROR_CONNECTION_ABORTED = (1236), - ERROR_RETRY = (1237), - ERROR_CONNECTION_COUNT_LIMIT = (1238), - ERROR_LOGIN_TIME_RESTRICTION = (1239), - ERROR_LOGIN_WKSTA_RESTRICTION = (1240), - ERROR_INCORRECT_ADDRESS = (1241), - ERROR_ALREADY_REGISTERED = (1242), - ERROR_SERVICE_NOT_FOUND = (1243), - ERROR_NOT_AUTHENTICATED = (1244), - ERROR_NOT_LOGGED_ON = (1245), - ERROR_CONTINUE = (1246), - ERROR_ALREADY_INITIALIZED = (1247), - ERROR_NO_MORE_DEVICES = (1248), - ERROR_NOT_ALL_ASSIGNED = (1300), - ERROR_SOME_NOT_MAPPED = (1301), - ERROR_NO_QUOTAS_FOR_ACCOUNT = (1302), - ERROR_LOCAL_USER_SESSION_KEY = (1303), - ERROR_NULL_LM_PASSWORD = (1304), - ERROR_UNKNOWN_REVISION = (1305), - ERROR_REVISION_MISMATCH = (1306), - ERROR_INVALID_OWNER = (1307), - ERROR_INVALID_PRIMARY_GROUP = (1308), - ERROR_NO_IMPERSONATION_TOKEN = (1309), - ERROR_CANT_DISABLE_MANDATORY = (1310), - ERROR_NO_LOGON_SERVERS = (1311), - ERROR_NO_SUCH_LOGON_SESSION = (1312), - ERROR_NO_SUCH_PRIVILEGE = (1313), - ERROR_PRIVILEGE_NOT_HELD = (1314), - ERROR_INVALID_ACCOUNT_NAME = (1315), - ERROR_USER_EXISTS = (1316), - ERROR_NO_SUCH_USER = (1317), - ERROR_GROUP_EXISTS = (1318), - ERROR_NO_SUCH_GROUP = (1319), - ERROR_MEMBER_IN_GROUP = (1320), - ERROR_MEMBER_NOT_IN_GROUP = (1321), - ERROR_LAST_ADMIN = (1322), - ERROR_WRONG_PASSWORD = (1323), - ERROR_ILL_FORMED_PASSWORD = (1324), - ERROR_PASSWORD_RESTRICTION = (1325), - ERROR_LOGON_FAILURE = (1326), - ERROR_ACCOUNT_RESTRICTION = (1327), - ERROR_INVALID_LOGON_HOURS = (1328), - ERROR_INVALID_WORKSTATION = (1329), - ERROR_PASSWORD_EXPIRED = (1330), - ERROR_ACCOUNT_DISABLED = (1331), - ERROR_NONE_MAPPED = (1332), - ERROR_TOO_MANY_LUIDS_REQUESTED = (1333), - ERROR_LUIDS_EXHAUSTED = (1334), - ERROR_INVALID_SUB_AUTHORITY = (1335), - ERROR_INVALID_ACL = (1336), - ERROR_INVALID_SID = (1337), - ERROR_INVALID_SECURITY_DESCR = (1338), - ERROR_BAD_INHERITANCE_ACL = (1340), - ERROR_SERVER_DISABLED = (1341), - ERROR_SERVER_NOT_DISABLED = (1342), - ERROR_INVALID_ID_AUTHORITY = (1343), - ERROR_ALLOTTED_SPACE_EXCEEDED = (1344), - ERROR_INVALID_GROUP_ATTRIBUTES = (1345), - ERROR_BAD_IMPERSONATION_LEVEL = (1346), - ERROR_CANT_OPEN_ANONYMOUS = (1347), - ERROR_BAD_VALIDATION_CLASS = (1348), - ERROR_BAD_TOKEN_TYPE = (1349), - ERROR_NO_SECURITY_ON_OBJECT = (1350), - ERROR_CANT_ACCESS_DOMAIN_INFO = (1351), - ERROR_INVALID_SERVER_STATE = (1352), - ERROR_INVALID_DOMAIN_STATE = (1353), - ERROR_INVALID_DOMAIN_ROLE = (1354), - ERROR_NO_SUCH_DOMAIN = (1355), - ERROR_DOMAIN_EXISTS = (1356), - ERROR_DOMAIN_LIMIT_EXCEEDED = (1357), - ERROR_INTERNAL_DB_CORRUPTION = (1358), - ERROR_INTERNAL_ERROR = (1359), - ERROR_GENERIC_NOT_MAPPED = (1360), - ERROR_BAD_DESCRIPTOR_FORMAT = (1361), - ERROR_NOT_LOGON_PROCESS = (1362), - ERROR_LOGON_SESSION_EXISTS = (1363), - ERROR_NO_SUCH_PACKAGE = (1364), - ERROR_BAD_LOGON_SESSION_STATE = (1365), - ERROR_LOGON_SESSION_COLLISION = (1366), - ERROR_INVALID_LOGON_TYPE = (1367), - ERROR_CANNOT_IMPERSONATE = (1368), - ERROR_RXACT_INVALID_STATE = (1369), - ERROR_RXACT_COMMIT_FAILURE = (1370), - ERROR_SPECIAL_ACCOUNT = (1371), - ERROR_SPECIAL_GROUP = (1372), - ERROR_SPECIAL_USER = (1373), - ERROR_MEMBERS_PRIMARY_GROUP = (1374), - ERROR_TOKEN_ALREADY_IN_USE = (1375), - ERROR_NO_SUCH_ALIAS = (1376), - ERROR_MEMBER_NOT_IN_ALIAS = (1377), - ERROR_MEMBER_IN_ALIAS = (1378), - ERROR_ALIAS_EXISTS = (1379), - ERROR_LOGON_NOT_GRANTED = (1380), - ERROR_TOO_MANY_SECRETS = (1381), - ERROR_SECRET_TOO_LONG = (1382), - ERROR_INTERNAL_DB_ERROR = (1383), - ERROR_TOO_MANY___FILE___IDS = (1384), - ERROR_LOGON_TYPE_NOT_GRANTED = (1385), - ERROR_NT_CROSS_ENCRYPTION_REQUIRED = (1386), - ERROR_NO_SUCH_MEMBER = (1387), - ERROR_INVALID_MEMBER = (1388), - ERROR_TOO_MANY_SIDS = (1389), - ERROR_LM_CROSS_ENCRYPTION_REQUIRED = (1390), - ERROR_NO_INHERITANCE = (1391), - ERROR_FILE_CORRUPT = (1392), - ERROR_DISK_CORRUPT = (1393), - ERROR_NO_USER_SESSION_KEY = (1394), - ERROR_LICENSE_QUOTA_EXCEEDED = (1395), - ERROR_INVALID_WINDOW_HANDLE = (1400), - ERROR_INVALID_MENU_HANDLE = (1401), - ERROR_INVALID_CURSOR_HANDLE = (1402), - ERROR_INVALID_ACCEL_HANDLE = (1403), - ERROR_INVALID_HOOK_HANDLE = (1404), - ERROR_INVALID_DWP_HANDLE = (1405), - ERROR_TLW_WITH_WSCHILD = (1406), - ERROR_CANNOT_FIND_WND_CLASS = (1407), - ERROR_WINDOW_OF_OTHER_THREAD = (1408), - ERROR_HOTKEY_ALREADY_REGISTERED = (1409), - ERROR_CLASS_ALREADY_EXISTS = (1410), - ERROR_CLASS_DOES_NOT_EXIST = (1411), - ERROR_CLASS_HAS_WINDOWS = (1412), - ERROR_INVALID_INDEX = (1413), - ERROR_INVALID_ICON_HANDLE = (1414), - ERROR_PRIVATE_DIALOG_INDEX = (1415), - ERROR_LISTBOX_ID_NOT_FOUND = (1416), - ERROR_NO_WILDCARD_CHARACTERS = (1417), - ERROR_CLIPBOARD_NOT_OPEN = (1418), - ERROR_HOTKEY_NOT_REGISTERED = (1419), - ERROR_WINDOW_NOT_DIALOG = (1420), - ERROR_CONTROL_ID_NOT_FOUND = (1421), - ERROR_INVALID_COMBOBOX_MESSAGE = (1422), - ERROR_WINDOW_NOT_COMBOBOX = (1423), - ERROR_INVALID_EDIT_HEIGHT = (1424), - ERROR_DC_NOT_FOUND = (1425), - ERROR_INVALID_HOOK_FILTER = (1426), - ERROR_INVALID_FILTER_PROC = (1427), - ERROR_HOOK_NEEDS_HMOD = (1428), - ERROR_GLOBAL_ONLY_HOOK = (1429), - ERROR_JOURNAL_HOOK_SET = (1430), - ERROR_HOOK_NOT_INSTALLED = (1431), - ERROR_INVALID_LB_MESSAGE = (1432), - ERROR_SETCOUNT_ON_BAD_LB = (1433), - ERROR_LB_WITHOUT_TABSTOPS = (1434), - ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = (1435), - ERROR_CHILD_WINDOW_MENU = (1436), - ERROR_NO_SYSTEM_MENU = (1437), - ERROR_INVALID_MSGBOX_STYLE = (1438), - ERROR_INVALID_SPI_VALUE = (1439), - ERROR_SCREEN_ALREADY_LOCKED = (1440), - ERROR_HWNDS_HAVE_DIFF_PARENT = (1441), - ERROR_NOT_CHILD_WINDOW = (1442), - ERROR_INVALID_GW_COMMAND = (1443), - ERROR_INVALID_THREAD_ID = (1444), - ERROR_NON_MDICHILD_WINDOW = (1445), - ERROR_POPUP_ALREADY_ACTIVE = (1446), - ERROR_NO_SCROLLBARS = (1447), - ERROR_INVALID_SCROLLBAR_RANGE = (1448), - ERROR_INVALID_SHOWWIN_COMMAND = (1449), - ERROR_NO_SYSTEM_RESOURCES = (1450), - ERROR_NONPAGED_SYSTEM_RESOURCES = (1451), - ERROR_PAGED_SYSTEM_RESOURCES = (1452), - ERROR_WORKING_SET_QUOTA = (1453), - ERROR_PAGEFILE_QUOTA = (1454), - ERROR_COMMITMENT_LIMIT = (1455), - ERROR_MENU_ITEM_NOT_FOUND = (1456), - ERROR_EVENTLOG_FILE_CORRUPT = (1500), - ERROR_EVENTLOG_CANT_START = (1501), - ERROR_LOG_FILE_FULL = (1502), - ERROR_EVENTLOG_FILE_CHANGED = (1503), - RPC_S_INVALID_STRING_BINDING = (1700), - RPC_S_WRONG_KIND_OF_BINDING = (1701), - RPC_S_INVALID_BINDING = (1702), - RPC_S_PROTSEQ_NOT_SUPPORTED = (1703), - RPC_S_INVALID_RPC_PROTSEQ = (1704), - RPC_S_INVALID_STRING_UUID = (1705), - RPC_S_INVALID_ENDPOINT_FORMAT = (1706), - RPC_S_INVALID_NET_ADDR = (1707), - RPC_S_NO_ENDPOINT_FOUND = (1708), - RPC_S_INVALID_TIMEOUT = (1709), - RPC_S_OBJECT_NOT_FOUND = (1710), - RPC_S_ALREADY_REGISTERED = (1711), - RPC_S_TYPE_ALREADY_REGISTERED = (1712), - RPC_S_ALREADY_LISTENING = (1713), - RPC_S_NO_PROTSEQS_REGISTERED = (1714), - RPC_S_NOT_LISTENING = (1715), - RPC_S_UNKNOWN_MGR_TYPE = (1716), - RPC_S_UNKNOWN_IF = (1717), - RPC_S_NO_BINDINGS = (1718), - RPC_S_NO_PROTSEQS = (1719), - RPC_S_CANT_CREATE_ENDPOINT = (1720), - RPC_S_OUT_OF_RESOURCES = (1721), - RPC_S_SERVER_UNAVAILABLE = (1722), - RPC_S_SERVER_TOO_BUSY = (1723), - RPC_S_INVALID_NETWORK_OPTIONS = (1724), - RPC_S_NO_CALL_ACTIVE = (1725), - RPC_S_CALL_FAILED = (1726), - RPC_S_CALL_FAILED_DNE = (1727), - RPC_S_PROTOCOL_ERROR = (1728), - RPC_S_UNSUPPORTED_TRANS_SYN = (1730), - RPC_S_UNSUPPORTED_TYPE = (1732), - RPC_S_INVALID_TAG = (1733), - RPC_S_INVALID_BOUND = (1734), - RPC_S_NO_ENTRY_NAME = (1735), - RPC_S_INVALID_NAME_SYNTAX = (1736), - RPC_S_UNSUPPORTED_NAME_SYNTAX = (1737), - RPC_S_UUID_NO_ADDRESS = (1739), - RPC_S_DUPLICATE_ENDPOINT = (1740), - RPC_S_UNKNOWN_AUTHN_TYPE = (1741), - RPC_S_MAX_CALLS_TOO_SMALL = (1742), - RPC_S_STRING_TOO_LONG = (1743), - RPC_S_PROTSEQ_NOT_FOUND = (1744), - RPC_S_PROCNUM_OUT_OF_RANGE = (1745), - RPC_S_BINDING_HAS_NO_AUTH = (1746), - RPC_S_UNKNOWN_AUTHN_SERVICE = (1747), - RPC_S_UNKNOWN_AUTHN_LEVEL = (1748), - RPC_S_INVALID_AUTH_IDENTITY = (1749), - RPC_S_UNKNOWN_AUTHZ_SERVICE = (1750), - EPT_S_INVALID_ENTRY = (1751), - EPT_S_CANT_PERFORM_OP = (1752), - EPT_S_NOT_REGISTERED = (1753), - RPC_S_NOTHING_TO_EXPORT = (1754), - RPC_S_INCOMPLETE_NAME = (1755), - RPC_S_INVALID_VERS_OPTION = (1756), - RPC_S_NO_MORE_MEMBERS = (1757), - RPC_S_NOT_ALL_OBJS_UNEXPORTED = (1758), - RPC_S_INTERFACE_NOT_FOUND = (1759), - RPC_S_ENTRY_ALREADY_EXISTS = (1760), - RPC_S_ENTRY_NOT_FOUND = (1761), - RPC_S_NAME_SERVICE_UNAVAILABLE = (1762), - RPC_S_INVALID_NAF_ID = (1763), - RPC_S_CANNOT_SUPPORT = (1764), - RPC_S_NO___FILE___AVAILABLE = (1765), - RPC_S_INTERNAL_ERROR = (1766), - RPC_S_ZERO_DIVIDE = (1767), - RPC_S_ADDRESS_ERROR = (1768), - RPC_S_FP_DIV_ZERO = (1769), - RPC_S_FP_UNDERFLOW = (1770), - RPC_S_FP_OVERFLOW = (1771), - RPC_X_NO_MORE_ENTRIES = (1772), - RPC_X_SS_CHAR_TRANS_OPEN_FAIL = (1773), - RPC_X_SS_CHAR_TRANS_SHORT_FILE = (1774), - RPC_X_SS_IN_NULL___FILE__ = (1775), - RPC_X_SS___FILE___DAMAGED = (1777), - RPC_X_SS_HANDLES_MISMATCH = (1778), - RPC_X_SS_CANNOT_GET_CALL_HANDLE = (1779), - RPC_X_NULL_REF_POINTER = (1780), - RPC_X_ENUM_VALUE_OUT_OF_RANGE = (1781), - RPC_X_BYTE_COUNT_TOO_SMALL = (1782), - RPC_X_BAD_STUB_DATA = (1783), - ERROR_INVALID_USER_BUFFER = (1784), - ERROR_UNRECOGNIZED_MEDIA = (1785), - ERROR_NO_TRUST_LSA_SECRET = (1786), - ERROR_NO_TRUST_SAM_ACCOUNT = (1787), - ERROR_TRUSTED_DOMAIN_FAILURE = (1788), - ERROR_TRUSTED_RELATIONSHIP_FAILURE = (1789), - ERROR_TRUST_FAILURE = (1790), - RPC_S_CALL_IN_PROGRESS = (1791), - ERROR_NETLOGON_NOT_STARTED = (1792), - ERROR_ACCOUNT_EXPIRED = (1793), - ERROR_REDIRECTOR_HAS_OPEN_HANDLES = (1794), - ERROR_PRINTER_DRIVER_ALREADY_INSTALLED = (1795), - ERROR_UNKNOWN_PORT = (1796), - ERROR_UNKNOWN_PRINTER_DRIVER = (1797), - ERROR_UNKNOWN_PRINTPROCESSOR = (1798), - ERROR_INVALID_SEPARATOR_FILE = (1799), - ERROR_INVALID_PRIORITY = (1800), - ERROR_INVALID_PRINTER_NAME = (1801), - ERROR_PRINTER_ALREADY_EXISTS = (1802), - ERROR_INVALID_PRINTER_COMMAND = (1803), - ERROR_INVALID_DATATYPE = (1804), - ERROR_INVALID_ENVIRONMENT = (1805), - RPC_S_NO_MORE_BINDINGS = (1806), - ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = (1807), - ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = (1808), - ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = (1809), - ERROR_DOMAIN_TRUST_INCONSISTENT = (1810), - ERROR_SERVER_HAS_OPEN_HANDLES = (1811), - ERROR_RESOURCE_DATA_NOT_FOUND = (1812), - ERROR_RESOURCE_TYPE_NOT_FOUND = (1813), - ERROR_RESOURCE_NAME_NOT_FOUND = (1814), - ERROR_RESOURCE_LANG_NOT_FOUND = (1815), - ERROR_NOT_ENOUGH_QUOTA = (1816), - RPC_S_NO_INTERFACES = (1817), - RPC_S_CALL_CANCELLED = (1818), - RPC_S_BINDING_INCOMPLETE = (1819), - RPC_S_COMM_FAILURE = (1820), - RPC_S_UNSUPPORTED_AUTHN_LEVEL = (1821), - RPC_S_NO_PRINC_NAME = (1822), - RPC_S_NOT_RPC_ERROR = (1823), - RPC_S_UUID_LOCAL_ONLY = (1824), - RPC_S_SEC_PKG_ERROR = (1825), - RPC_S_NOT_CANCELLED = (1826), - RPC_X_INVALID_ES_ACTION = (1827), - RPC_X_WRONG_ES_VERSION = (1828), - RPC_X_WRONG_STUB_VERSION = (1829), - RPC_S_GROUP_MEMBER_NOT_FOUND = (1898), - EPT_S_CANT_CREATE = (1899), - RPC_S_INVALID_OBJECT = (1900), - ERROR_INVALID_TIME = (1901), - ERROR_INVALID_FORM_NAME = (1902), - ERROR_INVALID_FORM_SIZE = (1903), - ERROR_ALREADY_WAITING = (1904), - ERROR_PRINTER_DELETED = (1905), - ERROR_INVALID_PRINTER_STATE = (1906), - ERROR_PASSWORD_MUST_CHANGE = (1907), - ERROR_DOMAIN_CONTROLLER_NOT_FOUND = (1908), - ERROR_ACCOUNT_LOCKED_OUT = (1909), - ERROR_NO_BROWSER_SERVERS_FOUND = (6118), - ERROR_INVALID_PIXEL_FORMAT = (2000), - ERROR_BAD_DRIVER = (2001), - ERROR_INVALID_WINDOW_STYLE = (2002), - ERROR_METAFILE_NOT_SUPPORTED = (2003), - ERROR_TRANSFORM_NOT_SUPPORTED = (2004), - ERROR_CLIPPING_NOT_SUPPORTED = (2005), - ERROR_UNKNOWN_PRINT_MONITOR = (3000), - ERROR_PRINTER_DRIVER_IN_USE = (3001), - ERROR_SPOOL_FILE_NOT_FOUND = (3002), - ERROR_SPL_NO_STARTDOC = (3003), - ERROR_SPL_NO_ADDJOB = (3004), - ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED = (3005), - ERROR_PRINT_MONITOR_ALREADY_INSTALLED = (3006), - ERROR_WINS_INTERNAL = (4000), - ERROR_CAN_NOT_DEL_LOCAL_WINS = (4001), - ERROR_STATIC_INIT = (4002), - ERROR_INC_BACKUP = (4003), - ERROR_FULL_BACKUP = (4004), - ERROR_REC_NON_EXISTENT = (4005), - ERROR_RPL_NOT_ALLOWED = (4006), - MAX_PATH = (260), - LF_FACESIZE = (32), - LF_FULLFACESIZE = (64), - ELF_VENDOR_SIZE = (4), - SECURITY_STATIC_TRACKING = (0), - SECURITY_DYNAMIC_TRACKING = (1), - MAX_DEFAULTCHAR = (2), - MAX_LEADBYTES = (12), - EXCEPTION_MAXIMUM_PARAMETERS = (15), - CCHDEVICENAME = (32), - CCHFORMNAME = (32), - MENU_TEXT_LEN = (40), - MAX_LANA = (254), - NCBNAMSZ = (16), - NETBIOS_NAME_LEN = (16), - OFS_MAXPATHNAME = (128), - MAX_TAB_STOPS = (32), - ANYSIZE_ARRAY = (1), - RAS_MaxCallbackNumber = (128), - RAS_MaxDeviceName = (128), - RAS_MaxDeviceType = (16), - RAS_MaxEntryName = (256), - RAS_MaxIpAddress = (15), - RAS_MaxIpxAddress = (21), - RAS_MaxPhoneNumber = (128), - UNLEN = (256), - PWLEN = (256), - CNLEN = (15), - DNLEN = (15), - MAXDWORD = (0xFFFFFFFF), - MAXWORD = (0xFFFF), - MAXBYTE = (0xFF), - MINCHAR = (0x80), - MAXCHAR = (0x7F), - MINSHORT = (0x8000), - MAXSHORT = (0x7FFF), - MINLONG = (0x80000000), - MAXLONG = (0x7FFFFFFF), - FILE_BEGIN = (0), - FILE_CURRENT = (1), - FILE_END = (2), - OF_READ = (0), - OF_READWRITE = (2), - OF_WRITE = (1), - OF_SHARE_COMPAT = (0), - OF_SHARE_DENY_NONE = (64), - OF_SHARE_DENY_READ = (48), - OF_SHARE_DENY_WRITE = (32), - OF_SHARE_EXCLUSIVE = (16), - OF_CANCEL = (2048), - OF_CREATE = (4096), - OF_DELETE = (512), - OF_EXIST = (16384), - OF_PARSE = (256), - OF_PROMPT = (8192), - OF_REOPEN = (32768), - OF_VERIFY = (1024), - HKL_NEXT = (1), - HKL_PREV = (0), - KLF_REORDER = (8), - KLF_UNLOADPREVIOUS = (4), - KLF_ACTIVATE = (1), - KLF_NOTELLSHELL = (128), - KLF_REPLACELANG = (16), - KLF_SUBSTITUTE_OK = (2), - MF_BITMAP = (0x4), - MF_DISABLED = (0x2), - MF_ENABLED = (0), - MF_GRAYED = (0x1), - MF_HELP = (0x4000), - MF_MENUBARBREAK = (0x20), - MF_MENUBREAK = (0x40), - MF_MOUSESELECT = (0x8000), - MF_OWNERDRAW = (0x100), - MF_POPUP = (0x10), - MF_SEPARATOR = (0x800), - MF_STRING = (0), - MF_SYSMENU = (0x2000), - MF_USECHECKBITMAPS = (0x200), - BLACKNESS = (0x00000042), - NOTSRCERASE = (0x001100A6), - NOTSRCCOPY = (0x00330008), - SRCERASE = (0x00440328), - DSTINVERT = (0x00550009), - PATINVERT = (0x005A0049), - SRCINVERT = (0x00660046), - SRCAND = (0x008800C6), - MERGEPAINT = (0x00BB0226), - MERGECOPY = (0x00C000CA), - SRCCOPY = (0x00CC0020), - SRCPAINT = (0x00EE0086), - PATCOPY = (0x00F00021), - PATPAINT = (0x00FB0A09), - WHITENESS = (0x00FF0062), - R2_BLACK = (1), - R2_COPYPEN = (13), - R2_MASKNOTPEN = (3), - R2_MASKPEN = (9), - R2_MASKPENNOT = (5), - R2_MERGENOTPEN = (12), - R2_MERGEPEN = (15), - R2_MERGEPENNOT = (14), - R2_NOP = (11), - R2_NOT = (6), - R2_NOTCOPYPEN = (4), - R2_NOTMASKPEN = (8), - R2_NOTMERGEPEN = (2), - R2_NOTXORPEN = (10), - R2_WHITE = (16), - R2_XORPEN = (7), - BSF_FLUSHDISK = (4), - BSF_FORCEIFHUNG = (32), - BSF_IGNORECURRENTTASK = (2), - BSF_NOHANG = (8), - BSF_POSTMESSAGE = (16), - BSF_QUERY = (1), - BSM_ALLCOMPONENTS = (0), - BSM_APPLICATIONS = (8), - BSM_INSTALLABLEDRIVERS = (4), - BSM_NETDRIVER = (2), - BSM_VXDS = (1), - BROADCAST_QUERY_DENY = (1112363332), - NMPWAIT_NOWAIT = (1), - NMPWAIT_WAIT_FOREVER = -((1)), - NMPWAIT_USE_DEFAULT_WAIT = (0), - MDITILE_SKIPDISABLED = (2), - MDITILE_HORIZONTAL = (1), - MDITILE_VERTICAL = (0), - HCBT_ACTIVATE = (5), - HCBT_CLICKSKIPPED = (6), - HCBT_CREATEWND = (3), - HCBT_DESTROYWND = (4), - HCBT_KEYSKIPPED = (7), - HCBT_MINMAX = (1), - HCBT_MOVESIZE = (0), - HCBT_QS = (2), - HCBT_SETFOCUS = (9), - HCBT_SYSCOMMAND = (8), - DM_BITSPERPEL = (0x40000), - DM_PELSWIDTH = (0x80000), - DM_PELSHEIGHT = (0x100000), - DM_DISPLAYFLAGS = (0x200000), - DM_DISPLAYFREQUENCY = (0x400000), - CDS_UPDATEREGISTRY = (1), - CDS_TEST = (2), - DISP_CHANGE_SUCCESSFUL = (0), - DISP_CHANGE_RESTART = (1), - DISP_CHANGE_BADFLAGS = -((4)), - DISP_CHANGE_FAILED = -((1)), - DISP_CHANGE_BADMODE = -((2)), - DISP_CHANGE_NOTUPDATED = -((3)), - SERVICE_NO_CHANGE = -((1)), - SERVICE_WIN32_OWN_PROCESS = (16), - SERVICE_WIN32_SHARE_PROCESS = (32), - SERVICE_KERNEL_DRIVER = (1), - SERVICE_FILE_SYSTEM_DRIVER = (2), - SERVICE_INTERACTIVE_PROCESS = (256), - SERVICE_BOOT_START = (0), - SERVICE_SYSTEM_START = (1), - SERVICE_AUTO_START = (2), - SERVICE_DEMAND_START = (3), - SERVICE_DISABLED = (4), - SERVICE_STOPPED = (1), - SERVICE_START_PENDING = (2), - SERVICE_STOP_PENDING = (3), - SERVICE_RUNNING = (4), - SERVICE_CONTINUE_PENDING = (5), - SERVICE_PAUSE_PENDING = (6), - SERVICE_PAUSED = (7), - SERVICE_ACCEPT_STOP = (1), - SERVICE_ACCEPT_PAUSE_CONTINUE = (2), - SERVICE_ACCEPT_SHUTDOWN = (4), - BST_CHECKED = (1), - BST_INDETERMINATE = (2), - BST_UNCHECKED = (0), - BST_FOCUS = (8), - BST_PUSHED = (4), - MF_BYCOMMAND = (0), - MF_BYPOSITION = (0x400), - MF_CHECKED = (0x8), - MF_UNCHECKED = (0), - MF_HILITE = (0x80), - MF_UNHILITE = (0), - CWP_ALL = (0), - CWP_SKIPINVISIBLE = (1), - CWP_SKIPDISABLED = (2), - CWP_SKIPTRANSPARENT = (4), - CE_BREAK = (16), - CE_DNS = (2048), - CE_FRAME = (8), - CE_IOE = (1024), - CE_MODE = (32768), - CE_OOP = (4096), - CE_OVERRUN = (2), - CE_PTO = (512), - CE_RXOVER = (1), - CE_RXPARITY = (4), - CE_TXFULL = (256), - RGN_AND = (1), - RGN_COPY = (5), - RGN_DIFF = (4), - RGN_OR = (2), - RGN_XOR = (3), - NULLREGION = (1), - SIMPLEREGION = (2), - COMPLEXREGION = (3), - ERROR = (0), - CDERR_DIALOGFAILURE = (0xffff), - CDERR_FINDRESFAILURE = (6), - CDERR_INITIALIZATION = (2), - CDERR_LOADRESFAILURE = (7), - CDERR_LOADSTRFAILURE = (5), - CDERR_LOCKRESFAILURE = (8), - CDERR_MEMALLOCFAILURE = (9), - CDERR_MEMLOCKFAILURE = (10), - CDERR_NOHINSTANCE = (4), - CDERR_NOHOOK = (11), - CDERR_NOTEMPLATE = (3), - CDERR_REGISTERMSGFAIL = (12), - CDERR_STRUCTSIZE = (1), - PDERR_CREATEICFAILURE = (0x1000)+(10), - PDERR_DEFAULTDIFFERENT = (0x1000)+(12), - PDERR_DNDMMISMATCH = (0x1000)+(9), - PDERR_GETDEVMODEFAIL = (0x1000)+(5), - PDERR_INITFAILURE = (0x1000)+(6), - PDERR_LOADDRVFAILURE = (0x1000)+(4), - PDERR_NODEFAULTPRN = (0x1000)+(8), - PDERR_NODEVICES = (0x1000)+(7), - PDERR_PARSEFAILURE = (0x1000)+(2), - PDERR_PRINTERNOTFOUND = (0x1000)+(11), - PDERR_RETDEFFAILURE = (0x1000)+(3), - PDERR_SETUPFAILURE = (0x1000)+(1), - CFERR_MAXLESSTHANMIN = (0x2000)+(2), - CFERR_NOFONTS = (0x2000)+(1), - FNERR_BUFFERTOOSMALL = (0x3000)+(3), - FNERR_INVALIDFILENAME = (0x3000)+(2), - FNERR_SUBCLASSFAILURE = (0x3000)+(1), - FRERR_BUFFERLENGTHZERO = (0x4000)+(1), - LOCALE_SYSTEM_DEFAULT = (0x800), - LOCALE_USER_DEFAULT = (0x400), - NORM_IGNORECASE = (1), - NORM_IGNOREKANATYPE = (65536), - NORM_IGNORENONSPACE = (2), - NORM_IGNORESYMBOLS = (4), - NORM_IGNOREWIDTH = (131072), - SORT_STRINGSORT = (4096), - LCMAP_BYTEREV = (2048), - LCMAP_FULLWIDTH = (8388608), - LCMAP_HALFWIDTH = (4194304), - LCMAP_HIRAGANA = (1048576), - LCMAP_KATAKANA = (2097152), - LCMAP_LOWERCASE = (256), - LCMAP_SORTKEY = (1024), - LCMAP_UPPERCASE = (512), - DBG_CONTINUE = (0x10002), - DBG_CONTROL_BREAK = (0x40010008), - DBG_CONTROL_C = (0x40010005), - DBG_EXCEPTION_NOT_HANDLED = (0x80010001), - DBG_TERMINATE_THREAD = (0x40010003), - DBG_TERMINATE_PROCESS = (0x40010004), - SERVICE_CONTROL_STOP = (1), - SERVICE_CONTROL_PAUSE = (2), - SERVICE_CONTROL_CONTINUE = (3), - SERVICE_CONTROL_INTERROGATE = (4), - SERVICE_CONTROL_SHUTDOWN = (5), - IMAGE_BITMAP = (0), - IMAGE_CURSOR = (2), - IMAGE_ENHMETAFILE = (1), - IMAGE_ICON = (1), - LR_COPYDELETEORG = (8), - LR_COPYRETURNORG = (4), - LR_MONOCHROME = (1), - LR_CREATEDIBSECTION = (8192), - LR_DEFAULTSIZE = (64), - DF_ALLOWOTHERACCOUNTHOOK = (0x1), - DESKTOP_CREATEMENU = (0x4), - DESKTOP_CREATEWINDOW = (0x2), - DESKTOP_ENUMERATE = (0x40), - DESKTOP_HOOKCONTROL = (0x8), - DESKTOP_JOURNALPLAYBACK = (0x20), - DESKTOP_JOURNALRECORD = (0x10), - DESKTOP_READOBJECTS = (0x1), - DESKTOP_SWITCHDESKTOP = (0x100), - DESKTOP_WRITEOBJECTS = (0x80), - WSF_VISIBLE = (0x1), - CBM_INIT = (0x4), - DIB_PAL_COLORS = (1), - DIB_RGB_COLORS = (0), - GENERIC_READ = (0x80000000), - GENERIC_WRITE = (0x40000000), - GENERIC_EXECUTE = (0x20000000), - FILE_READ_DATA = (0x0001), - FILE_LIST_DIRECTORY = (0x0001), - FILE_WRITE_DATA = (0x0002), - FILE_ADD_FILE = (0x0002), - FILE_APPEND_DATA = (0x0004), - FILE_ADD_SUBDIRECTORY = (0x0004), - FILE_CREATE_PIPE_INSTANCE = (0x0004), - FILE_READ_EA = (0x0008), - FILE_READ_PROPERTIES = (FILE_READ_EA), - FILE_WRITE_EA = (0x0010), - FILE_WRITE_PROPERTIES = (FILE_WRITE_EA), - FILE_EXECUTE = (0x0020), - FILE_TRAVERSE = (0x0020), - FILE_DELETE_CHILD = (0x0040), - FILE_READ_ATTRIBUTES = (0x0080), - FILE_WRITE_ATTRIBUTES = (0x0100), - FILE_SHARE_DELETE = (4), - FILE_SHARE_READ = (1), - FILE_SHARE_WRITE = (2), - CONSOLE_TEXTMODE_BUFFER = (1), - CREATE_NEW = (1), - CREATE_ALWAYS = (2), - OPEN_EXISTING = (3), - OPEN_ALWAYS = (4), - TRUNCATE_EXISTING = (5), - INVALID_FILE_ATTRIBUTE = (-1), - FILE_ATTRIBUTE_ARCHIVE = (32), - FILE_ATTRIBUTE_COMPRESSED = (2048), - FILE_ATTRIBUTE_NORMAL = (128), - FILE_ATTRIBUTE_DIRECTORY = (16), - FILE_ATTRIBUTE_HIDDEN = (2), - FILE_ATTRIBUTE_READONLY = (1), - FILE_ATTRIBUTE_SYSTEM = (4), - FILE_ATTRIBUTE_TEMPORARY = (256), - FILE_FLAG_WRITE_THROUGH = (2147483648), - FILE_FLAG_OVERLAPPED = (1073741824), - FILE_FLAG_NO_BUFFERING = (536870912), - FILE_FLAG_RANDOM_ACCESS = (268435456), - FILE_FLAG_SEQUENTIAL_SCAN = (134217728), - FILE_FLAG_DELETE_ON_CLOSE = (67108864), - FILE_FLAG_BACKUP_SEMANTICS = (33554432), - FILE_FLAG_POSIX_SEMANTICS = (16777216), - SECURITY_ANONYMOUS = (0), - SECURITY_IDENTIFICATION = (65536), - SECURITY_IMPERSONATION = (131072), - SECURITY_DELEGATION = (196608), - SECURITY___FILE___TRACKING = (262144), - SECURITY_EFFECTIVE_ONLY = (524288), - SECURITY_SQOS_PRESENT = (1048576), - SEC_COMMIT = (134217728), - SEC_IMAGE = (16777216), - SEC_NOCACHE = (268435456), - SEC_RESERVE = (67108864), - PAGE_READONLY = (2), - PAGE_READWRITE = (4), - PAGE_WRITECOPY = (8), - PAGE_EXECUTE = (16), - PAGE_EXECUTE_READ = (32), - PAGE_EXECUTE_READWRITE = (64), - PAGE_EXECUTE_WRITECOPY = (128), - PAGE_GUARD = (256), - PAGE_NOACCESS = (1), - PAGE_NOCACHE = (512), - MEM_COMMIT = (4096), - MEM_FREE = (65536), - MEM_RESERVE = (8192), - MEM_IMAGE = (16777216), - MEM_MAPPED = (262144), - MEM_PRIVATE = (131072), - MEM_DECOMMIT = (16384), - MEM_RELEASE = (32768), - MEM_TOP_DOWN = (1048576), - EXCEPTION_GUARD_PAGE = (0x80000001), - SECTION_EXTEND_SIZE = (0x10), - SECTION_MAP_READ = (0x4), - SECTION_MAP_WRITE = (0x2), - SECTION_QUERY = (0x1), - SECTION_ALL_ACCESS = (0xf001f), - FW_DONTCARE = (0), - FW_THIN = (100), - FW_EXTRALIGHT = (200), - FW_LIGHT = (300), - FW_NORMAL = (400), - FW_REGULAR = (FW_NORMAL), - FW_MEDIUM = (500), - FW_SEMIBOLD = (600), - FW_BOLD = (700), - FW_EXTRABOLD = (800), - FW_HEAVY = (900), - ANSI_CHARSET = (0), - DEFAULT_CHARSET = (1), - SYMBOL_CHARSET = (2), - SHIFTJIS_CHARSET = (128), - HANGEUL_CHARSET = (129), - GB2312_CHARSET = (134), - CHINESEBIG5_CHARSET = (136), - GREEK_CHARSET = (161), - TURKISH_CHARSET = (162), - HEBREW_CHARSET = (177), - ARABIC_CHARSET = (178), - BALTIC_CHARSET = (186), - RUSSIAN_CHARSET = (204), - THAI_CHARSET = (222), - EASTEUROPE_CHARSET = (238), - OEM_CHARSET = (255), - OUT_DEFAULT_PRECIS = (0), - OUT_STRING_PRECIS = (1), - OUT_CHARACTER_PRECIS = (2), - OUT_STROKE_PRECIS = (3), - OUT_TT_PRECIS = (4), - OUT_DEVICE_PRECIS = (5), - OUT_RASTER_PRECIS = (6), - OUT_TT_ONLY_PRECIS = (7), - OUT_OUTLINE_PRECIS = (8), - CLIP_DEFAULT_PRECIS = (0), - CLIP_CHARACTER_PRECIS = (1), - CLIP_STROKE_PRECIS = (2), - CLIP_MASK = (15), - CLIP_LH_ANGLES = (16), - CLIP_TT_ALWAYS = (32), - CLIP_EMBEDDED = (128), - DEFAULT_QUALITY = (0), - DRAFT_QUALITY = (1), - PROOF_QUALITY = (2), - DEFAULT_PITCH = (0), - FIXED_PITCH = (1), - VARIABLE_PITCH = (2), - FF_DECORATIVE = (80), - FF_DONTCARE = (0), - FF_MODERN = (48), - FF_ROMAN = (16), - FF_SCRIPT = (64), - FF_SWISS = (32), - HS_BDIAGONAL = (3), - HS_CROSS = (4), - HS_DIAGCROSS = (5), - HS_FDIAGONAL = (2), - HS_HORIZONTAL = (0), - HS_VERTICAL = (1), - LR_DEFAULTCOLOR = (0), - LR_LOADREALSIZE = (128), - MAILSLOT_WAIT_FOREVER = (0xffffffff), - MAILSLOT_NO_MESSAGE = (0xffffffff), - CMB_MASKED = (2), - PIPE_ACCESS_DUPLEX = (3), - PIPE_ACCESS_INBOUND = (1), - PIPE_ACCESS_OUTBOUND = (2), - WRITE_DAC = (0x40000), - WRITE_OWNER = (0x80000), - ACCESS_SYSTEM_SECURITY = (0x1000000), - PIPE_TYPE_BYTE = (0), - PIPE_TYPE_MESSAGE = (4), - PIPE_READMODE_BYTE = (0), - PIPE_READMODE_MESSAGE = (2), - PIPE_WAIT = (0), - PIPE_NOWAIT = (1), - PS_GEOMETRIC = (65536), - PS_COSMETIC = (0), - PS_ALTERNATE = (8), - PS_SOLID = (0), - PS_DASH = (1), - PS_DOT = (2), - PS_DASHDOT = (3), - PS_DASHDOTDOT = (4), - PS_NULL = (5), - PS_USERSTYLE = (7), - PS_INSIDEFRAME = (6), - PS_ENDCAP_ROUND = (0), - PS_ENDCAP_SQUARE = (256), - PS_ENDCAP_FLAT = (512), - PS_JOIN_BEVEL = (4096), - PS_JOIN_MITER = (8192), - PS_JOIN_ROUND = (0), - PS_STYLE_MASK = (15), - PS_ENDCAP_MASK = (3840), - PS_TYPE_MASK = (983040), - ALTERNATE = (1), - WINDING = (2), - CREATE_DEFAULT_ERROR_MODE = (67108864), - CREATE_NEW_CONSOLE = (16), - CREATE_NEW_PROCESS_GROUP = (512), - CREATE_NO_WINDOW = (0x8000000), - CREATE_SEPARATE_WOW_VDM = (2048), - CREATE_SUSPENDED = (4), - CREATE_UNICODE_ENVIRONMENT = (1024), - DEBUG_PROCESS = (1), - DEBUG_ONLY_THIS_PROCESS = (2), - DETACHED_PROCESS = (8), - HIGH_PRIORITY_CLASS = (128), - IDLE_PRIORITY_CLASS = (64), - NORMAL_PRIORITY_CLASS = (32), - REALTIME_PRIORITY_CLASS = (256), - SERVICE_ALL_ACCESS = (0xf01ff), - SERVICE_CHANGE_CONFIG = (2), - SERVICE_ENUMERATE_DEPENDENTS = (8), - SERVICE_INTERROGATE = (128), - SERVICE_PAUSE_CONTINUE = (64), - SERVICE_QUERY_CONFIG = (1), - SERVICE_QUERY_STATUS = (4), - SERVICE_START = (16), - SERVICE_STOP = (32), - SERVICE_USER_DEFINED_CONTROL = (256), - SERVICE_DELETE = (0x10000), - SERVICE_READ_CONTROL = (0x20000), - SERVICE_GENERIC_EXECUTE = (0x20000000), - SERVICE_ERROR_IGNORE = (0), - SERVICE_ERROR_NORMAL = (1), - SERVICE_ERROR_SEVERE = (2), - SERVICE_ERROR_CRITICAL = (3), - TAPE_FIXED_PARTITIONS = (0), - TAPE_INITIATOR_PARTITIONS = (0x2), - TAPE_SELECT_PARTITIONS = (0x1), - TAPE_FILEMARKS = (0x1), - TAPE_LONG_FILEMARKS = (0x3), - TAPE_SETMARKS = (0), - TAPE_SHORT_FILEMARKS = (0x2), - CW_USEDEFAULT = (0x80000000), - WS_BORDER = (0x800000), - WS_CAPTION = (0xc00000), - WS_CHILD = (0x40000000), - WS_CHILDWINDOW = (0x40000000), - WS_CLIPCHILDREN = (0x2000000), - WS_CLIPSIBLINGS = (0x4000000), - WS_DISABLED = (0x8000000), - WS_DLGFRAME = (0x400000), - WS_GROUP = (0x20000), - WS_HSCROLL = (0x100000), - WS_ICONIC = (0x20000000), - WS_MAXIMIZE = (0x1000000), - WS_MAXIMIZEBOX = (0x10000), - WS_MINIMIZE = (0x20000000), - WS_MINIMIZEBOX = (0x20000), - WS_OVERLAPPED = (0), - WS_OVERLAPPEDWINDOW = (0xcf0000), - WS_POPUP = (0x80000000), - WS_POPUPWINDOW = (0x80880000), - WS_SIZEBOX = (0x40000), - WS_SYSMENU = (0x80000), - WS_TABSTOP = (0x10000), - WS_THICKFRAME = (0x40000), - WS_TILED = (0), - WS_TILEDWINDOW = (0xcf0000), - WS_VISIBLE = (0x10000000), - WS_VSCROLL = (0x200000), - MDIS_ALLCHILDSTYLES = (0x1), - BS_3STATE = (0x5), - BS_AUTO3STATE = (0x6), - BS_AUTOCHECKBOX = (0x3), - BS_AUTORADIOBUTTON = (0x9), - BS_BITMAP = (0x80), - BS_BOTTOM = (0x800), - BS_CENTER = (0x300), - BS_CHECKBOX = (0x2), - BS_DEFPUSHBUTTON = (0x1), - BS_GROUPBOX = (0x7), - BS_ICON = (0x40), - BS_LEFT = (0x100), - BS_LEFTTEXT = (0x20), - BS_MULTILINE = (0x2000), - BS_NOTIFY = (0x4000), - BS_OWNERDRAW = (0xb), - BS_PUSHBUTTON = (0), - BS_PUSHLIKE = (0x1000), - BS_RADIOBUTTON = (0x4), - BS_RIGHT = (0x200), - BS_RIGHTBUTTON = (0x20), - BS_TEXT = (0), - BS_TOP = (0x400), - BS_USERBUTTON = (0x8), - BS_VCENTER = (0xc00), - CBS_AUTOHSCROLL = (0x40), - CBS_DISABLENOSCROLL = (0x800), - CBS_DROPDOWN = (0x2), - CBS_DROPDOWNLIST = (0x3), - CBS_HASSTRINGS = (0x200), - CBS_LOWERCASE = (0x4000), - CBS_NOINTEGRALHEIGHT = (0x400), - CBS_OEMCONVERT = (0x80), - CBS_OWNERDRAWFIXED = (0x10), - CBS_OWNERDRAWVARIABLE = (0x20), - CBS_SIMPLE = (0x1), - CBS_SORT = (0x100), - CBS_UPPERCASE = (0x2000), - ES_AUTOHSCROLL = (0x80), - ES_AUTOVSCROLL = (0x40), - ES_CENTER = (0x1), - ES_LEFT = (0), - ES_LOWERCASE = (0x10), - ES_MULTILINE = (0x4), - ES_NOHIDESEL = (0x100), - ES_NUMBER = (0x2000), - ES_OEMCONVERT = (0x400), - ES_PASSWORD = (0x20), - ES_READONLY = (0x800), - ES_RIGHT = (0x2), - ES_UPPERCASE = (0x8), - ES_WANTRETURN = (0x1000), - LBS_DISABLENOSCROLL = (0x1000), - LBS_EXTENDEDSEL = (0x800), - LBS_HASSTRINGS = (0x40), - LBS_MULTICOLUMN = (0x200), - LBS_MULTIPLESEL = (0x8), - LBS_NODATA = (0x2000), - LBS_NOINTEGRALHEIGHT = (0x100), - LBS_NOREDRAW = (0x4), - LBS_NOSEL = (0x4000), - LBS_NOTIFY = (0x1), - LBS_OWNERDRAWFIXED = (0x10), - LBS_OWNERDRAWVARIABLE = (0x20), - LBS_SORT = (0x2), - LBS_STANDARD = (0xa00003), - LBS_USETABSTOPS = (0x80), - LBS_WANTKEYBOARDINPUT = (0x400), - SBS_BOTTOMALIGN = (0x4), - SBS_HORZ = (0), - SBS_LEFTALIGN = (0x2), - SBS_RIGHTALIGN = (0x4), - SBS_SIZEBOX = (0x8), - SBS_SIZEBOXBOTTOMRIGHTALIGN = (0x4), - SBS_SIZEBOXTOPLEFTALIGN = (0x2), - SBS_SIZEGRIP = (0x10), - SBS_TOPALIGN = (0x2), - SBS_VERT = (0x1), - SS_BITMAP = (0xe), - SS_BLACKFRAME = (0x7), - SS_BLACKRECT = (0x4), - SS_CENTER = (0x1), - SS_CENTERIMAGE = (0x200), - SS_ENHMETAFILE = (0xf), - SS_ETCHEDFRAME = (0x12), - SS_ETCHEDHORZ = (0x10), - SS_ETCHEDVERT = (0x11), - SS_GRAYFRAME = (0x8), - SS_GRAYRECT = (0x5), - SS_ICON = (0x3), - SS_LEFT = (0), - SS_LEFTNOWORDWRAP = (0xc), - SS_NOPREFIX = (0x80), - SS_NOTIFY = (0x100), - SS_OWNERDRAW = (0xd), - SS_REALSIZEIMAGE = (0x800), - SS_RIGHT = (0x2), - SS_RIGHTJUST = (0x400), - SS_SIMPLE = (0xb), - SS_SUNKEN = (0x1000), - SS_USERITEM = (0xa), - SS_WHITEFRAME = (0x9), - SS_WHITERECT = (0x6), - DS_3DLOOK = (0x4), - DS_ABSALIGN = (0x1), - DS_CENTER = (0x800), - DS_CENTERMOUSE = (0x1000), - DS___FILE__HELP = (0x2000), - DS_CONTROL = (0x400), - DS_FIXEDSYS = (0x8), - DS_LOCALEDIT = (0x20), - DS_MODALFRAME = (0x80), - DS_NOFAILCREATE = (0x10), - DS_NOIDLEMSG = (0x100), - DS_SETFONT = (0x40), - DS_SETFOREGROUND = (0x200), - DS_SYSMODAL = (0x2), - WS_EX_ACCEPTFILES = (0x10), - WS_EX_APPWINDOW = (0x40000), - WS_EX_CLIENTEDGE = (0x200), - WS_EX___FILE__HELP = (0x400), - WS_EX_CONTROLPARENT = (0x10000), - WS_EX_DLGMODALFRAME = (0x1), - WS_EX_LEFT = (0), - WS_EX_LEFTSCROLLBAR = (0x4000), - WS_EX_LTRREADING = (0), - WS_EX_MDICHILD = (0x40), - WS_EX_NOPARENTNOTIFY = (0x4), - WS_EX_OVERLAPPEDWINDOW = (0x300), - WS_EX_PALETTEWINDOW = (0x188), - WS_EX_RIGHT = (0x1000), - WS_EX_RIGHTSCROLLBAR = (0), - WS_EX_RTLREADING = (0x2000), - WS_EX_STATICEDGE = (0x20000), - WS_EX_TOOLWINDOW = (0x80), - WS_EX_TOPMOST = (0x8), - WS_EX_TRANSPARENT = (0x20), - WS_EX_WINDOWEDGE = (0x100), - WINSTA_ACCESSCLIPBOARD = (0x4), - WINSTA_ACCESSGLOBALATOMS = (0x20), - WINSTA_CREATEDESKTOP = (0x8), - WINSTA_ENUMDESKTOPS = (0x1), - WINSTA_ENUMERATE = (0x100), - WINSTA_EXITWINDOWS = (0x40), - WINSTA_READATTRIBUTES = (0x2), - WINSTA_READSCREEN = (0x200), - WINSTA_WRITEATTRIBUTES = (0x10), - WH_CALLWNDPROC = (4), - WH_CALLWNDPROCRET = (12), - WH_CBT = (5), - WH_DEBUG = (9), - WH_GETMESSAGE = (3), - WH_JOURNALPLAYBACK = (1), - WH_JOURNALRECORD = (0), - WH_KEYBOARD = (2), - WH_MOUSE = (7), - WH_MSGFILTER = -((1)), - WH_SHELL = (10), - WH_SYSMSGFILTER = (6), - WH_FOREGROUNDIDLE = (11), - DDD_RAW_TARGET_PATH = (1), - DDD_REMOVE_DEFINITION = (2), - DDD_EXACT_MATCH_ON_REMOVE = (4), - DC_BINNAMES = (12), - DC_BINS = (6), - DC_COPIES = (18), - DC_DRIVER = (11), - DC_DATATYPE_PRODUCED = (21), - DC_DUPLEX = (7), - DC_EMF_COMPLIANT = (20), - DC_ENUMRESOLUTIONS = (13), - DC_EXTRA = (9), - DC_FIELDS = (1), - DC_FILEDEPENDENCIES = (14), - DC_MAXEXTENT = (5), - DC_MINEXTENT = (4), - DC_ORIENTATION = (17), - DC_PAPERNAMES = (16), - DC_PAPERS = (2), - DC_PAPERSIZE = (3), - DC_SIZE = (8), - DC_TRUETYPE = (15), - DCTT_BITMAP = (0x1), - DCTT_DOWNLOAD = (0x2), - DCTT_SUBDEV = (0x4), - DC_VERSION = (10), - DC_BINADJUST = (19), - DDL_ARCHIVE = (32), - DDL_DIRECTORY = (16), - DDL_DRIVES = (16384), - DDL_EXCLUSIVE = (32768), - DDL_HIDDEN = (2), - DDL_READONLY = (1), - DDL_READWRITE = (0), - DDL_SYSTEM = (4), - DDL_POSTMSGS = (8192), - DLL_PROCESS_ATTACH = (1), - DLL_THREAD_ATTACH = (2), - DLL_PROCESS_DETACH = (0), - DLL_THREAD_DETACH = (3), - DM_IN_BUFFER = (8), - DM_MODIFY = (8), - DM_IN_PROMPT = (4), - DM_PROMPT = (4), - DM_OUT_BUFFER = (2), - DM_COPY = (2), - DM_UPDATE = (1), - IDANI_OPEN = (1), - IDANI_CLOSE = (2), - DC_ACTIVE = (1), - DC_SMALLCAP = (2), - BDR_RAISEDINNER = (4), - BDR_SUNKENINNER = (8), - BDR_RAISEDOUTER = (1), - BDR_SUNKENOUTER = (1), - EDGE_BUMP = (9), - EDGE_ETCHED = (6), - EDGE_RAISED = (5), - EDGE_SUNKEN = (10), - BF_ADJUST = (8192), - BF_BOTTOM = (8), - BF_BOTTOMLEFT = (9), - BF_BOTTOMRIGHT = (12), - BF_DIAGONAL = (16), - BF_DIAGONAL_ENDBOTTOMLEFT = (25), - BF_DIAGONAL_ENDBOTTOMRIGHT = (28), - BF_DIAGONAL_ENDTOPLEFT = (19), - BF_DIAGONAL_ENDTOPRIGHT = (22), - BF_FLAT = (16384), - BF_LEFT = (1), - BF_MIDDLE = (2048), - BF_MONO = (32768), - BF_RECT = (15), - BF_RIGHT = (4), - BF_SOFT = (4096), - BF_TOP = (2), - BF_TOPLEFT = (3), - BF_TOPRIGHT = (6), - DFC_BUTTON = (4), - DFC_CAPTION = (1), - DFC_MENU = (2), - DFC_SCROLL = (3), - DFCS_BUTTON3STATE = (8), - DFCS_BUTTONCHECK = (0), - DFCS_BUTTONPUSH = (16), - DFCS_BUTTONRADIO = (4), - DFCS_BUTTONRADIOIMAGE = (1), - DFCS_BUTTONRADIOMASK = (2), - DFCS_CAPTIONCLOSE = (0), - DFCS_CAPTIONHELP = (4), - DFCS_CAPTIONMAX = (2), - DFCS_CAPTIONMIN = (1), - DFCS_CAPTIONRESTORE = (3), - DFCS_MENUARROW = (0), - DFCS_MENUBULLET = (2), - DFCS_MENUCHECK = (1), - DFCS_SCROLLCOMBOBOX = (5), - DFCS_SCROLLDOWN = (1), - DFCS_SCROLLLEFT = (2), - DFCS_SCROLLRIGHT = (3), - DFCS_SCROLLSIZEGRIP = (8), - DFCS_SCROLLUP = (0), - DFCS_ADJUSTRECT = (8192), - DFCS_CHECKED = (1024), - DFCS_FLAT = (16384), - DFCS_INACTIVE = (256), - DFCS_MONO = (32768), - DFCS_PUSHED = (512), - DI_COMPAT = (4), - DI_DEFAULTSIZE = (8), - DI_IMAGE = (2), - DI_MASK = (1), - DI_NORMAL = (3), - DST_BITMAP = (4), - DST_COMPLEX = (0), - DST_ICON = (3), - DST_PREFIXTEXT = (2), - DST_TEXT = (1), - DSS_NORMAL = (0), - DSS_UNION = (16), - DSS_DISABLED = (32), - DSS_MONO = (128), - SBT_NOBORDERS = (256), - SBT_OWNERDRAW = (4096), - SBT_POPOUT = (512), - SBT_RTLREADING = (1024), - DT_BOTTOM = (8), - DT_CALCRECT = (1024), - DT_CENTER = (1), - DT_EDITCONTROL = (8192), - DT_END_ELLIPSIS = (32768), - DT_PATH_ELLIPSIS = (16384), - DT_EXPANDTABS = (64), - DT_EXTERNALLEADING = (512), - DT_LEFT = (0), - DT_MODIFYSTRING = (65536), - DT_NOCLIP = (256), - DT_NOPREFIX = (2048), - DT_RIGHT = (2), - DT_RTLREADING = (131072), - DT_SINGLELINE = (32), - DT_TABSTOP = (128), - DT_TOP = (0), - DT_VCENTER = (4), - DT_WORDBREAK = (16), - DT_INTERNAL = (4096), - DUPLICATE_CLOSE_SOURCE = (1), - DUPLICATE_SAME_ACCESS = (2), - FILE_MAP_ALL_ACCESS = (0xf001f), - FILE_MAP_READ = (4), - FILE_MAP_WRITE = (2), - FILE_MAP_COPY = (1), - FILE_MAP_EXECUTE = (0x20), - MUTEX_ALL_ACCESS = (0x1f0001), - MUTEX_MODIFY_STATE = (1), - SYNCHRONIZE = (0x100000), - SEMAPHORE_ALL_ACCESS = (0x1f0003), - SEMAPHORE_MODIFY_STATE = (2), - EVENT_ALL_ACCESS = (0x1f0003), - EVENT_MODIFY_STATE = (2), - KEY_ALL_ACCESS = (0xf003f), - KEY_CREATE_LINK = (32), - KEY_CREATE_SUB_KEY = (4), - KEY_ENUMERATE_SUB_KEYS = (8), - KEY_EXECUTE = (0x20019), - KEY_NOTIFY = (16), - KEY_QUERY_VALUE = (1), - KEY_READ = (0x20019), - KEY_SET_VALUE = (2), - KEY_WRITE = (0x20006), - PROCESS_ALL_ACCESS = (0x1f0fff), - PROCESS_CREATE_PROCESS = (128), - PROCESS_CREATE_THREAD = (2), - PROCESS_DUP_HANDLE = (64), - PROCESS_QUERY_INFORMATION = (1024), - PROCESS_SET_INFORMATION = (512), - PROCESS_TERMINATE = (1), - PROCESS_VM_OPERATION = (8), - PROCESS_VM_READ = (16), - PROCESS_VM_WRITE = (32), - THREAD_ALL_ACCESS = (0x1f03ff), - THREAD_DIRECT_IMPERSONATION = (512), - THREAD_GET___FILE__ = (8), - THREAD_IMPERSONATE = (256), - THREAD_QUERY_INFORMATION = (64), - THREAD_SET___FILE__ = (16), - THREAD_SET_INFORMATION = (32), - THREAD_SET_THREAD_TOKEN = (128), - THREAD_SUSPEND_RESUME = (2), - THREAD_TERMINATE = (1), - WB_ISDELIMITER = (2), - WB_LEFT = (0), - WB_RIGHT = (1), - SB_BOTH = (3), - SB_CTL = (2), - SB_HORZ = (0), - SB_VERT = (1), - ESB_DISABLE_BOTH = (3), - ESB_DISABLE_DOWN = (2), - ESB_DISABLE_LEFT = (1), - ESB_DISABLE_LTUP = (1), - ESB_DISABLE_RIGHT = (2), - ESB_DISABLE_RTDN = (2), - ESB_DISABLE_UP = (1), - ESB_ENABLE_BOTH = (0), - SB_LINEUP = (0), - SB_LINEDOWN = (1), - SB_LINELEFT = (0), - SB_LINERIGHT = (1), - SB_PAGEUP = (2), - SB_PAGEDOWN = (3), - SB_PAGELEFT = (2), - SB_PAGERIGHT = (3), - SB_THUMBPOSITION = (4), - SB_THUMBTRACK = (5), - SB_ENDSCROLL = (8), - SB_LEFT = (6), - SB_RIGHT = (7), - SB_BOTTOM = (7), - SB_TOP = (6), - ENUM_ALL_CALENDARS = -((1)), - DATE_SHORTDATE = (1), - DATE_LONGDATE = (2), - SERVICE_ACTIVE = (1), - SERVICE_INACTIVE = (2), - DEVICE_FONTTYPE = (2), - RASTER_FONTTYPE = (1), - TRUETYPE_FONTTYPE = (4), - OBJ_BRUSH = (2), - OBJ_PEN = (1), - OBJ_PAL = (5), - OBJ_FONT = (6), - OBJ_BITMAP = (7), - OBJ_EXTPEN = (11), - OBJ_REGION = (8), - OBJ_DC = (3), - OBJ_MEMDC = (10), - OBJ_METAFILE = (9), - OBJ_METADC = (4), - OBJ_ENHMETAFILE = (13), - OBJ_ENHMETADC = (12), - SERVICE_WIN32 = (48), - SERVICE_DRIVER = (11), - CP_INSTALLED = (1), - CP_SUPPORTED = (2), - LCID_INSTALLED = (1), - LCID_SUPPORTED = (2), - TAPE_ERASE_LONG = (0x1), - TAPE_ERASE_SHORT = (0), - SP_ERROR = -((1)), - SP_OUTOFDISK = -((4)), - SP_OUTOFMEMORY = -((5)), - SP_USERABORT = -((3)), - PHYSICALWIDTH = (110), - PHYSICALHEIGHT = (111), - PHYSICALOFFSETX = (112), - PHYSICALOFFSETY = (113), - SCALINGFACTORX = (114), - SCALINGFACTORY = (115), - QUERYESCSUPPORT = (8), - cABORTDOC = (2), - cENDDOC = (11), - GETPHYSPAGESIZE = (12), - GETPRINTINGOFFSET = (13), - GETSCALINGFACTOR = (14), - NEWFRAME = (1), - NEXTBAND = (3), - PASSTHROUGH = (19), - cSETABORTPROC = (9), - cSTARTDOC = (10), - CLRDTR = (6), - CLRRTS = (4), - SETDTR = (5), - SETRTS = (3), - SETXOFF = (1), - SETXON = (2), - SETBREAK = (8), - CLRBREAK = (9), - EWX_FORCE = (4), - EWX_LOGOFF = (0), - EWX_POWEROFF = (8), - EWX_REBOOT = (2), - EWX_SHUTDOWN = (1), - FLOODFILLBORDER = (0), - FLOODFILLSURFACE = (1), - ETO_CLIPPED = (4), - ETO_GLYPH_INDEX = (16), - ETO_OPAQUE = (2), - ETO_RTLREADING = (128), - FOREGROUND_BLUE = (1), - FOREGROUND_GREEN = (2), - FOREGROUND_RED = (4), - FOREGROUND_INTENSITY = (8), - BACKGROUND_BLUE = (16), - BACKGROUND_GREEN = (32), - BACKGROUND_RED = (64), - BACKGROUND_INTENSITY = (128), - FILE_NOTIFY_CHANGE_FILE_NAME = (1), - FILE_NOTIFY_CHANGE_DIR_NAME = (2), - FILE_NOTIFY_CHANGE_ATTRIBUTES = (4), - FILE_NOTIFY_CHANGE_SIZE = (8), - FILE_NOTIFY_CHANGE_LAST_WRITE = (16), - FILE_NOTIFY_CHANGE_SECURITY = (256), - MAP_FOLDCZONE = (16), - MAP_FOLDDIGITS = (128), - MAP_PRECOMPOSED = (32), - MAP_COMPOSITE = (64), - HC_ACTION = (0), - FORMAT_MESSAGE_ALLOCATE_BUFFER = (256), - FORMAT_MESSAGE_IGNORE_INSERTS = (512), - FORMAT_MESSAGE_FROM_STRING = (1024), - FORMAT_MESSAGE_FROM_HMODULE = (2048), - FORMAT_MESSAGE_FROM_SYSTEM = (4096), - FORMAT_MESSAGE_ARGUMENT_ARRAY = (8192), - FORMAT_MESSAGE_MAX_WIDTH_MASK = (255), - GDICOMMENT_WINDOWS_METAFILE = -((2147483647)), - GDICOMMENT_BEGINGROUP = (2), - GDICOMMENT_ENDGROUP = (3), - GDICOMMENT_MULTIFORMATS = (1073741828), - GDICOMMENT_IDENTIFIER = (1128875079), - CTRL_C_EVENT = (0), - CTRL_BREAK_EVENT = (1), - CTRL_CLOSE_EVENT = (2), - CTRL_LOGOFF_EVENT = (5), - CTRL_SHUTDOWN_EVENT = (6), - AD_COUNTERCLOCKWISE = (1), - AD_CLOCKWISE = (2), - SCS_32BIT_BINARY = (0), - SCS_DOS_BINARY = (1), - SCS_OS216_BINARY = (5), - SCS_PIF_BINARY = (3), - SCS_POSIX_BINARY = (4), - SCS_WOW_BINARY = (2), - DCB_DISABLE = (8), - DCB_ENABLE = (4), - DCB_RESET = (1), - DCB_SET = (3), - DCB_ACCUMULATE = (2), - GCP_DBCS = (1), - GCP_ERROR = (0x8000), - GCP_CLASSIN = (0x80000), - GCP_DIACRITIC = (256), - GCP_DISPLAYZWG = (0x400000), - GCP_GLYPHSHAPE = (16), - GCP_JUSTIFY = (0x10000), - GCP_JUSTIFYIN = (0x200000), - GCP_KASHIDA = (1024), - GCP_LIGATE = (32), - GCP_MAXEXTENT = (0x100000), - GCP_NEUTRALOVERRIDE = (0x2000000), - GCP_NUMERICOVERRIDE = (0x1000000), - GCP_NUMERICSLATIN = (0x4000000), - GCP_NUMERICSLOCAL = (0x8000000), - GCP_REORDER = (2), - GCP_SYMSWAPOFF = (0x800000), - GCP_USEKERNING = (8), - FLI_GLYPHS = (0x40000), - FLI_MASK = (0x103b), - GCW_ATOM = -((32)), - GCL_CBCLSEXTRA = -((20)), - GCL_CBWNDEXTRA = -((18)), - GCL_HBRBACKGROUND = -((10)), - GCL_HCURSOR = -((12)), - GCL_HICON = -((14)), - GCL_HICONSM = -((34)), - GCL_HMODULE = -((16)), - GCL_MENUNAME = -((8)), - GCL_STYLE = -((26)), - GCL_WNDPROC = -((24)), - CF_BITMAP = (2), - CF_DIB = (8), - CF_PALETTE = (9), - CF_ENHMETAFILE = (14), - CF_METAFILEPICT = (3), - CF_OEMTEXT = (7), - CF_TEXT = (1), - CF_UNICODETEXT = (13), - CF_DIF = (5), - CF_DSPBITMAP = (130), - CF_DSPENHMETAFILE = (142), - CF_DSPMETAFILEPICT = (131), - CF_DSPTEXT = (129), - CF_GDIOBJFIRST = (768), - CF_GDIOBJLAST = (1023), - CF_HDROP = (15), - CF_LOCALE = (16), - CF_OWNERDISPLAY = (128), - CF_PENDATA = (10), - CF_PRIVATEFIRST = (512), - CF_PRIVATELAST = (767), - CF_RIFF = (11), - CF_SYLK = (4), - CF_WAVE = (12), - CF_TIFF = (6), - EV_BREAK = (64), - EV_CTS = (8), - EV_DSR = (16), - EV_ERR = (128), - EV_EVENT1 = (2048), - EV_EVENT2 = (4096), - EV_PERR = (512), - EV_RING = (256), - EV_RLSD = (32), - EV_RX80FULL = (1024), - EV_RXCHAR = (1), - EV_RXFLAG = (2), - EV_TXEMPTY = (4), - MS_CTS_ON = (0x10), - MS_DSR_ON = (0x20), - MS_RING_ON = (0x40), - MS_RLSD_ON = (0x80), - MAX_COMPUTERNAME_LENGTH = (15), - ENABLE_LINE_INPUT = (2), - ENABLE_ECHO_INPUT = (4), - ENABLE_PROCESSED_INPUT = (1), - ENABLE_WINDOW_INPUT = (8), - ENABLE_MOUSE_INPUT = (16), - ENABLE_PROCESSED_OUTPUT = (1), - ENABLE_WRAP_AT_EOL_OUTPUT = (2), - CP_ACP = (0), - CP_MACCP = (2), - CP_OEMCP = (1), - CP_UTF8 = 65001, - DATE_USE_ALT_CALENDAR = (4), - DCX_WINDOW = (0x1), - DCX_CACHE = (0x2), - DCX_PARENTCLIP = (0x20), - DCX_CLIPSIBLINGS = (0x10), - DCX_CLIPCHILDREN = (0x8), - DCX_NORESETATTRS = (0x4), - DCX_LOCKWINDOWUPDATE = (0x400), - DCX_EXCLUDERGN = (0x40), - DCX_INTERSECTRGN = (0x80), - DCX_VALIDATE = (0x200000), - DRIVERVERSION = (0), - TECHNOLOGY = (2), - DT_PLOTTER = (0), - DT_RASDISPLAY = (1), - DT_RASPRINTER = (2), - DT_RASCAMERA = (3), - DT_CHARSTREAM = (4), - DT_METAFILE = (5), - DT_DISPFILE = (6), - HORZSIZE = (4), - VERTSIZE = (6), - HORZRES = (8), - VERTRES = (10), - LOGPIXELSX = (88), - LOGPIXELSY = (90), - BITSPIXEL = (12), - PLANES = (14), - NUMBRUSHES = (16), - NUMPENS = (18), - NUMFONTS = (22), - NUMCOLORS = (24), - ASPECTX = (40), - ASPECTY = (42), - ASPECTXY = (44), - PDEVICESIZE = (26), - CLIPCAPS = (36), - SIZEPALETTE = (104), - NUMRESERVED = (106), - COLORRES = (108), - VREFRESH = (116), - DESKTOPHORZRES = (118), - DESKTOPVERTRES = (117), - BLTALIGNMENT = (119), - RASTERCAPS = (38), - RC_BANDING = (2), - RC_BITBLT = (1), - RC_BITMAP64 = (8), - RC_DI_BITMAP = (128), - RC_DIBTODEV = (512), - RC_FLOODFILL = (4096), - RC_GDI20_OUTPUT = (16), - RC_PALETTE = (256), - RC_SCALING = (4), - RC_STRETCHBLT = (2048), - RC_STRETCHDIB = (8192), - CURVECAPS = (28), - CC_NONE = (0), - CC_CIRCLES = (1), - CC_PIE = (2), - CC_CHORD = (4), - CC_ELLIPSES = (8), - CC_WIDE = (16), - CC_STYLED = (32), - CC_WIDESTYLED = (64), - CC_INTERIORS = (128), - CC_ROUNDRECT = (256), - LINECAPS = (30), - LC_NONE = (0), - LC_POLYLINE = (2), - LC_MARKER = (4), - LC_POLYMARKER = (8), - LC_WIDE = (16), - LC_STYLED = (32), - LC_WIDESTYLED = (64), - LC_INTERIORS = (128), - POLYGONALCAPS = (32), - PC_NONE = (0), - PC_POLYGON = (1), - PC_RECTANGLE = (2), - PC_WINDPOLYGON = (4), - PC_SCANLINE = (8), - PC_WIDE = (16), - PC_STYLED = (32), - PC_WIDESTYLED = (64), - PC_INTERIORS = (128), - TEXTCAPS = (34), - TC_OP_CHARACTER = (1), - TC_OP_STROKE = (2), - TC_CP_STROKE = (4), - TC_CR_90 = (8), - TC_CR_ANY = (16), - TC_SF_X_YINDEP = (32), - TC_SA_DOUBLE = (64), - TC_SA_INTEGER = (128), - TC_SA_CONTIN = (256), - TC_EA_DOUBLE = (512), - TC_IA_ABLE = (1024), - TC_UA_ABLE = (2048), - TC_SO_ABLE = (4096), - TC_RA_ABLE = (8192), - TC_VA_ABLE = (16384), - TC_RESERVED = (32768), - TC_SCROLLBLT = (65536), - PC_PATHS = (512), - DRIVE_REMOVABLE = (2), - DRIVE_FIXED = (3), - DRIVE_REMOTE = (4), - DRIVE_CDROM = (5), - DRIVE_RAMDISK = (6), - DRIVE_UNKNOWN = (0), - DRIVE_NO_ROOT_DIR = (1), - EXCEPTION_ACCESS_VIOLATION = (0xc0000005), - EXCEPTION_BREAKPOINT = (0x80000003), - EXCEPTION_DATATYPE_MISALIGNMENT = (0x80000002), - EXCEPTION_SINGLE_STEP = (0x80000004), - EXCEPTION_ARRAY_BOUNDS_EXCEEDED = (0xc000008c), - EXCEPTION_FLT_DENORMAL_OPERAND = (0xc000008d), - EXCEPTION_FLT_DIVIDE_BY_ZERO = (0xc000008e), - EXCEPTION_FLT_INEXACT_RESULT = (0xc000008f), - EXCEPTION_FLT_INVALID_OPERATION = (0xc0000090), - EXCEPTION_FLT_OVERFLOW = (0xc0000091), - EXCEPTION_FLT_STACK_CHECK = (0xc0000092), - EXCEPTION_FLT_UNDERFLOW = (0xc0000093), - EXCEPTION_INT_DIVIDE_BY_ZERO = (0xc0000094), - EXCEPTION_INT_OVERFLOW = (0xc0000095), - EXCEPTION_INVALID_HANDLE = (0xc0000008), - EXCEPTION_PRIV_INSTRUCTION = (0xc0000096), - EXCEPTION_NONCONTINUABLE_EXCEPTION = (0xc0000025), - EXCEPTION_NONCONTINUABLE = (0x1), - EXCEPTION_STACK_OVERFLOW = (0xc00000fd), - EXCEPTION_INVALID_DISPOSITION = (0xc0000026), - FILE_TYPE_UNKNOWN = (0), - FILE_TYPE_DISK = (1), - FILE_TYPE_CHAR = (2), - FILE_TYPE_PIPE = (3), - GGO_BITMAP = (1), - GGO_NATIVE = (2), - GGO_METRICS = (0), - GGO_GRAY2_BITMAP = (4), - GGO_GRAY4_BITMAP = (5), - GGO_GRAY8_BITMAP = (6), - GDI_ERROR = (0xffffffff), - GM_COMPATIBLE = (1), - GM_ADVANCED = (2), - HANDLE_FLAG_INHERIT = (1), - HANDLE_FLAG_PROTECT_FROM_CLOSE = (2), -} -char* RT_ACCELERATOR = cast(char*) ((9)); -char* RT_BITMAP = cast(char*) ((2)); -char* RT_DIALOG = cast(char*) ((5)); -char* RT_FONT = cast(char*) ((8)); -char* RT_FONTDIR = cast(char*) ((7)); -char* RT_MENU = cast(char*) ((4)); -char* RT_RCDATA = cast(char*) ((10)); -char* RT_STRING = cast(char*) ((6)); -char* RT_MESSAGETABLE = cast(char*) ((11)); -char* RT_CURSOR = cast(char*) ((1)); -char* RT_GROUP_CURSOR = cast(char*) ((12)); -char* RT_ICON = cast(char*) ((3)); -char* RT_GROUP_ICON = cast(char*) ((13)); -char* RT_VERSION = cast(char*) ((16)); -char* IDC_ARROW = cast(char*) ((32512)); -char* IDC_IBEAM = cast(char*) ((32513)); -char* IDC_WAIT = cast(char*) ((32514)); -char* IDC_CROSS = cast(char*) ((32515)); -char* IDC_UPARROW = cast(char*) ((32516)); -char* IDC_SIZENWSE = cast(char*) ((32642)); -char* IDC_SIZENESW = cast(char*) ((32643)); -char* IDC_SIZEWE = cast(char*) ((32644)); -char* IDC_SIZENS = cast(char*) ((32645)); -char* IDC_SIZEALL = cast(char*) ((32646)); -char* IDC_NO = cast(char*) ((32648)); -char* IDC_APPSTARTING = cast(char*) ((32650)); -char* IDC_HELP = cast(char*) ((32651)); -char* IDI_APPLICATION = cast(char*) ((32512)); -char* IDI_HAND = cast(char*) ((32513)); -char* IDI_QUESTION = cast(char*) ((32514)); -char* IDI_EXCLAMATION = cast(char*) ((32515)); -char* IDI_ASTERISK = cast(char*) ((32516)); -char* IDI_WINLOGO = cast(char*) ((32517)); -char* IDC_SIZE = cast(char*) ((32640)); -char* IDC_ICON = cast(char*) ((32641)); -enum : DWORD { - MM_ANISOTROPIC = (8), - MM_HIENGLISH = (5), - MM_HIMETRIC = (3), - MM_ISOTROPIC = (7), - MM_LOENGLISH = (4), - MM_LOMETRIC = (2), - MM_TEXT = (1), - MM_TWIPS = (6), - GMDI_GOINTOPOPUPS = (0x2), - GMDI_USEDISABLED = (0x1), - PM_NOREMOVE = (0), - PM_REMOVE = (1), - PM_NOYIELD = (2), - PIPE_CLIENT_END = (0), - PIPE_SERVER_END = (1), - GW_HWNDNEXT = (2), - GW_HWNDPREV = (3), - GW_CHILD = (5), - GW_HWNDFIRST = (0), - GW_HWNDLAST = (1), - GW_OWNER = (4), - PT_MOVETO = (6), - PT_LINETO = (2), - PT_BEZIERTO = (4), - PT_CLOSEFIGURE = (1), - SHUTDOWN_NORETRY = (1), - QS_ALLEVENTS = (191), - QS_ALLINPUT = (255), - QS_HOTKEY = (128), - QS_INPUT = (7), - QS_KEY = (1), - QS_MOUSE = (6), - QS_MOUSEBUTTON = (4), - QS_MOUSEMOVE = (2), - QS_PAINT = (32), - QS_POSTMESSAGE = (8), - QS_SENDMESSAGE = (64), - QS_TIMER = (16), - SIF_ALL = (23), - SIF_PAGE = (2), - SIF_POS = (4), - SIF_RANGE = (1), - SIF_DISABLENOSCROLL = (8), - STD_INPUT_HANDLE = -(10), - STD_OUTPUT_HANDLE = -(11), - STD_ERROR_HANDLE = -(12), - BLACK_BRUSH = (4), - DKGRAY_BRUSH = (3), - GRAY_BRUSH = (2), - HOLLOW_BRUSH = (5), - LTGRAY_BRUSH = (1), - NULL_BRUSH = (5), - WHITE_BRUSH = (0), - BLACK_PEN = (7), - NULL_PEN = (8), - WHITE_PEN = (6), - ANSI_FIXED_FONT = (11), - ANSI_VAR_FONT = (12), - DEVICE_DEFAULT_FONT = (14), - DEFAULT_GUI_FONT = (17), - OEM_FIXED_FONT = (10), - SYSTEM_FONT = (13), - SYSTEM_FIXED_FONT = (16), - DEFAULT_PALETTE = (15), - CT_CTYPE1 = (1), - CT_CTYPE2 = (2), - CT_CTYPE3 = (4), - C1_UPPER = (1), - C1_LOWER = (2), - C1_DIGIT = (4), - C1_SPACE = (8), - C1_PUNCT = (16), - C1_CNTRL = (32), - C1_BLANK = (64), - C1_XDIGIT = (128), - C1_ALPHA = (256), - C2_LEFTTORIGHT = (1), - C2_RIGHTTOLEFT = (2), - C2_EUROPENUMBER = (3), - C2_EUROPESEPARATOR = (4), - C2_EUROPETERMINATOR = (5), - C2_ARABICNUMBER = (6), - C2_COMMONSEPARATOR = (7), - C2_BLOCKSEPARATOR = (8), - C2_SEGMENTSEPARATOR = (9), - C2_WHITESPACE = (10), - C2_OTHERNEUTRAL = (11), - C2_NOTAPPLICABLE = (0), - C3_NONSPACING = (1), - C3_DIACRITIC = (2), - C3_VOWELMARK = (4), - C3_SYMBOL = (8), - C3_KATAKANA = (16), - C3_HIRAGANA = (32), - C3_HALFWIDTH = (64), - C3_FULLWIDTH = (128), - C3_IDEOGRAPH = (256), - C3_KASHIDA = (512), - C3_ALPHA = (32768), - C3_NOTAPPLICABLE = (0), - COLOR_3DDKSHADOW = (21), - COLOR_3DFACE = (15), - COLOR_3DHILIGHT = (20), - COLOR_3DLIGHT = (22), - COLOR_BTNHILIGHT = (20), - COLOR_3DSHADOW = (16), - COLOR_ACTIVEBORDER = (10), - COLOR_ACTIVECAPTION = (2), - COLOR_APPWORKSPACE = (12), - COLOR_BACKGROUND = (1), - COLOR_DESKTOP = (1), - COLOR_BTNFACE = (15), - COLOR_BTNHIGHLIGHT = (20), - COLOR_BTNSHADOW = (16), - COLOR_BTNTEXT = (18), - COLOR_CAPTIONTEXT = (9), - COLOR_GRAYTEXT = (17), - COLOR_HIGHLIGHT = (13), - COLOR_HIGHLIGHTTEXT = (14), - COLOR_INACTIVEBORDER = (11), - COLOR_INACTIVECAPTION = (3), - COLOR_INACTIVECAPTIONTEXT = (19), - COLOR_INFOBK = (24), - COLOR_INFOTEXT = (23), - COLOR_MENU = (4), - COLOR_MENUTEXT = (7), - COLOR_SCROLLBAR = (0), - COLOR_WINDOW = (5), - COLOR_WINDOWFRAME = (6), - COLOR_WINDOWTEXT = (8), - SM_CYMIN = (29), - SM_CXMIN = (28), - SM_ARRANGE = (56), - SM_CLEANBOOT = (67), - SM_CMETRICS = (76), - SM_CMOUSEBUTTONS = (43), - SM_CXBORDER = (5), - SM_CYBORDER = (6), - SM_CXCURSOR = (13), - SM_CYCURSOR = (14), - SM_CXDLGFRAME = (7), - SM_CYDLGFRAME = (8), - SM_CXDOUBLECLK = (36), - SM_CYDOUBLECLK = (37), - SM_CXDRAG = (68), - SM_CYDRAG = (69), - SM_CXEDGE = (45), - SM_CYEDGE = (46), - SM_CXFIXEDFRAME = (7), - SM_CYFIXEDFRAME = (8), - SM_CXFRAME = (32), - SM_CYFRAME = (33), - SM_CXFULLSCREEN = (16), - SM_CYFULLSCREEN = (17), - SM_CXHSCROLL = (21), - SM_CYHSCROLL = (3), - SM_CXHTHUMB = (10), - SM_CXICON = (11), - SM_CYICON = (12), - SM_CXICONSPACING = (38), - SM_CYICONSPACING = (39), - SM_CXMAXIMIZED = (61), - SM_CYMAXIMIZED = (62), - SM_CXMAXTRACK = (59), - SM_CYMAXTRACK = (60), - SM_CXMENUCHECK = (71), - SM_CYMENUCHECK = (72), - SM_CXMENUSIZE = (54), - SM_CYMENUSIZE = (55), - SM_CXMINIMIZED = (57), - SM_CYMINIMIZED = (58), - SM_CXMINSPACING = (47), - SM_CYMINSPACING = (48), - SM_CXMINTRACK = (34), - SM_CYMINTRACK = (35), - SM_CXSCREEN = (0), - SM_CYSCREEN = (1), - SM_CXSIZE = (30), - SM_CYSIZE = (31), - SM_CXSIZEFRAME = (32), - SM_CYSIZEFRAME = (33), - SM_CXSMICON = (49), - SM_CYSMICON = (50), - SM_CXSMSIZE = (52), - SM_CYSMSIZE = (53), - SM_CXVSCROLL = (2), - SM_CYVSCROLL = (20), - SM_CYVTHUMB = (9), - SM_CYCAPTION = (4), - SM_CYKANJIWINDOW = (18), - SM_CYMENU = (15), - SM_CYSMCAPTION = (51), - SM_DBCSENABLED = (42), - SM_DEBUG = (22), - SM_MENUDROPALIGNMENT = (40), - SM_MIDEASTENABLED = (74), - SM_MOUSEPRESENT = (19), - SM_MOUSEWHEELPRESENT = (75), - SM_NETWORK = (63), - SM_PENWINDOWS = (41), - SM_SECURE = (44), - SM_SHOWSOUNDS = (70), - SM_SLOWMACHINE = (73), - SM_SWAPBUTTON = (23), - ARW_BOTTOMLEFT = (0), - ARW_BOTTOMRIGHT = (0x1), - ARW_HIDE = (0x8), - ARW_TOPLEFT = (0x2), - ARW_TOPRIGHT = (0x3), - ARW_DOWN = (0x4), - ARW_LEFT = (0), - ARW_RIGHT = (0), - ARW_UP = (0x4), - SYSPAL_NOSTATIC = (2), - SYSPAL_STATIC = (1), - SYSPAL_ERROR = (0), - GET_TAPE_MEDIA_INFORMATION = (0), - GET_TAPE_DRIVE_INFORMATION = (1), - SET_TAPE_MEDIA_INFORMATION = (0), - SET_TAPE_DRIVE_INFORMATION = (1), - TAPE_ABSOLUTE_POSITION = (0), - TAPE_LOGICAL_POSITION = (0x1), - TA_BASELINE = (24), - TA_BOTTOM = (8), - TA_TOP = (0), - TA_CENTER = (6), - TA_LEFT = (0), - TA_RIGHT = (2), - TA_RTLREADING = (256), - TA_NOUPDATECP = (0), - TA_UPDATECP = (1), - VTA_BASELINE = (24), - VTA_CENTER = (6), - THREAD_PRIORITY_ABOVE_NORMAL = (1), - THREAD_PRIORITY_BELOW_NORMAL = -((1)), - THREAD_PRIORITY_HIGHEST = (2), - THREAD_PRIORITY_IDLE = -((15)), - THREAD_PRIORITY_LOWEST = -((2)), - THREAD_PRIORITY_NORMAL = (0), - THREAD_PRIORITY_TIME_CRITICAL = (15), - THREAD_PRIORITY_ERROR_RETURN = (2147483647), - TLS_MINIMUM_AVAILABLE = (64), - TIME_NOMINUTESORSECONDS = (1), - TIME_NOSECONDS = (2), - TIME_NOTIMEMARKER = (4), - TIME_FORCE24HOURFORMAT = (8), - TIME_ZONE_ID_INVALID = -(1), - TIME_ZONE_ID_UNKNOWN = (0), - TIME_ZONE_ID_STANDARD = (1), - TIME_ZONE_ID_DAYLIGHT = (2), - UOI_FLAGS = (1), - UOI_NAME = (2), - UOI_TYPE = (3), - FS_CASE_IS_PRESERVED = (2), - FS_CASE_SENSITIVE = (1), - FS_UNICODE_STORED_ON_DISK = (4), - FS_PERSISTENT_ACLS = (8), - FS_FILE_COMPRESSION = (16), - FS_VOL_IS_COMPRESSED = (32768), - GWL_EXSTYLE = -((20)), - GWL_STYLE = -((16)), - GWL_WNDPROC = -((4)), - GWL_HINSTANCE = -((6)), - GWL_HWNDPARENT = -((8)), - GWL_ID = -((12)), - GWL_USERDATA = -((21)), - DWL_DLGPROC = (4), - DWL_MSGRESULT = (0), - DWL_USER = (8), - GMEM_FIXED = (0), - GMEM_MOVEABLE = (2), - GPTR = (64), - GHND = (66), - GMEM_DDESHARE = (8192), - GMEM_DISCARDABLE = (256), - GMEM_LOWER = (4096), - GMEM_NOCOMPACT = (16), - GMEM_NODISCARD = (32), - GMEM_NOT_BANKED = (4096), - GMEM_NOTIFY = (16384), - GMEM_SHARE = (8192), - GMEM_ZEROINIT = (64), - GMEM_DISCARDED = (16384), - GMEM_INVALID_HANDLE = (32768), - GMEM_LOCKCOUNT = (255), - HEAP_GENERATE_EXCEPTIONS = (4), - HEAP_NO_SERIALIZE = (1), - HEAP_ZERO_MEMORY = (8), - STATUS_NO_MEMORY = (0xc0000017), - STATUS_ACCESS_VIOLATION = (0xc0000005), - HEAP_REALLOC_IN_PLACE_ONLY = (16), - ILC_COLOR = (0), - ILC_COLOR4 = (4), - ILC_COLOR8 = (8), - ILC_COLOR16 = (16), - ILC_COLOR24 = (24), - ILC_COLOR32 = (32), - ILC_COLORDDB = (254), - ILC_MASK = (1), - ILC_PALETTE = (2048), - ILD_BLEND25 = (2), - ILD_BLEND50 = (4), - ILD_SELECTED = (4), - ILD_BLEND = (4), - ILD_FOCUS = (2), - ILD_MASK = (16), - ILD_NORMAL = (0), - ILD_TRANSPARENT = (1), - CLR_NONE = (0xffffffff), - CLR_DEFAULT = (0xff000000), - CLR_INVALID = (0xFFFFFFFF), - LR_LOADFROMFILE = (16), - LR_LOADMAP3DCOLORS = (4096), - LR_LOADTRANSPARENT = (32), - IME_CONFIG_GENERAL = (1), - IME_CONFIG_REGISTERWORD = (2), - IME_CONFIG_SELECTDICTIONARY = (3), - GCL_CONVERSION = (1), - GCL_REVERSECONVERSION = (2), - GCL_REVERSE_LENGTH = (3), - GGL_LEVEL = (1), - GGL_INDEX = (2), - GGL_STRING = (3), - GGL_PRIVATE = (4), - GL_LEVEL_ERROR = (2), - GL_LEVEL_FATAL = (1), - GL_LEVEL_INFORMATION = (4), - GL_LEVEL_NOGUIDELINE = (0), - GL_LEVEL_WARNING = (3), - GL_ID_CANNOTSAVE = (17), - GL_ID_NOCONVERT = (32), - GL_ID_NODICTIONARY = (16), - GL_ID_NOMODULE = (1), - GL_ID_READINGCONFLICT = (35), - GL_ID_TOOMANYSTROKE = (34), - GL_ID_TYPINGERROR = (33), - GL_ID_UNKNOWN = (0), - GL_ID_INPUTREADING = (36), - GL_ID_INPUTRADICAL = (37), - GL_ID_INPUTCODE = (38), - GL_ID_CHOOSECANDIDATE = (40), - GL_ID_REVERSECONVERSION = (41), - IGP_PROPERTY = (4), - IGP_CONVERSION = (8), - IGP_SENTENCE = (12), - IGP_UI = (16), - IGP_SETCOMPSTR = (20), - IGP_SELECT = (24), - IME_PROP_AT_CARET = (65536), - IME_PROP_SPECIAL_UI = (131072), - IME_PROP_CANDLIST_START_FROM_1 = (262144), - IME_PROP_UNICODE = (524288), - UI_CAP_2700 = (1), - UI_CAP_ROT90 = (2), - UI_CAP_ROTANY = (4), - SCS_CAP_COMPSTR = (1), - SCS_CAP_MAKEREAD = (2), - SELECT_CAP_CONVERSION = (1), - SELECT_CAP_SENTENCE = (2), - NI_CHANGECANDIDATELIST = (19), - NI_CLOSECANDIDATE = (17), - NI_COMPOSITIONSTR = (21), - NI_OPENCANDIDATE = (16), - NI_SELECTCANDIDATESTR = (18), - NI_SETCANDIDATE_PAGESIZE = (23), - NI_SETCANDIDATE_PAGESTART = (22), - CPS_CANCEL = (4), - CPS_COMPLETE = (1), - CPS_CONVERT = (2), - CPS_REVERT = (3), - SCS_SETSTR = (9), - SCS_CHANGEATTR = (18), - SCS_CHANGECLAUSE = (36), - IME_REGWORD_STYLE_EUDC = (1), - IME_REGWORD_STYLE_USER_FIRST = (0x80000000), - IME_REGWORD_STYLE_USER_LAST = -((1)), - SECURITY_DESCRIPTOR_REVISION = (1), - IS_TEXT_UNICODE_ASCII16 = (1), - IS_TEXT_UNICODE_REVERSE_ASCII16 = (16), - IS_TEXT_UNICODE_STATISTICS = (2), - IS_TEXT_UNICODE_REVERSE_STATISTICS = (32), - IS_TEXT_UNICODE_CONTROLS = (4), - IS_TEXT_UNICODE_REVERSE_CONTROLS = (64), - IS_TEXT_UNICODE_SIGNATURE = (8), - IS_TEXT_UNICODE_REVERSE_SIGNATURE = (128), - IS_TEXT_UNICODE_ILLEGAL_CHARS = (256), - IS_TEXT_UNICODE_ODD_LENGTH = (512), - IS_TEXT_UNICODE_NULL_BYTES = (4096), - IS_TEXT_UNICODE_UNICODE_MASK = (15), - IS_TEXT_UNICODE_REVERSE_MASK = (240), - IS_TEXT_UNICODE_NOT_UNICODE_MASK = (3840), - IS_TEXT_UNICODE_NOT_ASCII_MASK = (61440), - HC_GETNEXT = (1), - HC_SKIP = (2), - HC_SYSMODALOFF = (5), - HC_SYSMODALON = (4), - HC_NOREMOVE = (3), - KEYEVENTF_EXTENDEDKEY = (1), - KEYEVENTF_KEYUP = (2), - OBM_BTNCORNERS = (32758), - OBM_BTSIZE = (32761), - OBM_CHECK = (32760), - OBM_CHECKBOXES = (32759), - OBM_CLOSE = (32754), - OBM_COMBO = (32738), - OBM_DNARROW = (32752), - OBM_DNARROWD = (32742), - OBM_DNARROWI = (32736), - OBM_LFARROW = (32750), - OBM_LFARROWI = (32734), - OBM_LFARROWD = (32740), - OBM_MNARROW = (32739), - OBM_OLD_CLOSE = (32767), - OBM_OLD_DNARROW = (32764), - OBM_OLD_LFARROW = (32762), - OBM_OLD_REDUCE = (32757), - OBM_OLD_RESTORE = (32755), - OBM_OLD_RGARROW = (32763), - OBM_OLD_UPARROW = (32765), - OBM_OLD_ZOOM = (32756), - OBM_REDUCE = (32749), - OBM_REDUCED = (32746), - OBM_RESTORE = (32747), - OBM_RESTORED = (32744), - OBM_RGARROW = (32751), - OBM_RGARROWD = (32741), - OBM_RGARROWI = (32735), - OBM_SIZE = (32766), - OBM_UPARROW = (32753), - OBM_UPARROWD = (32743), - OBM_UPARROWI = (32737), - OBM_ZOOM = (32748), - OBM_ZOOMD = (32745), - DONT_RESOLVE_DLL_REFERENCES = (1), - LOAD_LIBRARY_AS_DATAFILE = (2), - LOAD_WITH_ALTERED_SEARCH_PATH = (8), - LPTR = (64), - LHND = (66), - NONZEROLHND = (2), - NONZEROLPTR = (0), - LMEM_NONZEROLHND = (2), - LMEM_NONZEROLPTR = (0), - LMEM_FIXED = (0), - LMEM_MOVEABLE = (2), - LMEM_NOCOMPACT = (16), - LMEM_NODISCARD = (32), - LMEM_ZEROINIT = (64), - LMEM_MODIFY = (128), - LMEM_LOCKCOUNT = (255), - LMEM_DISCARDABLE = (3840), - LMEM_DISCARDED = (16384), - LMEM_INVALID_HANDLE = (32768), - LOCKFILE_FAIL_IMMEDIATELY = (1), - LOCKFILE_EXCLUSIVE_LOCK = (2), - MB_USERICON = (0x80), - MB_ICONASTERISK = (0x40), - MB_ICONEXCLAMATION = (0x30), - MB_ICONWARNING = (0x30), - MB_ICONERROR = (0x10), - MB_ICONHAND = (0x10), - MB_ICONQUESTION = (0x20), - MB_OK = (0), - MB_ABORTRETRYIGNORE = (0x2), - MB_APPLMODAL = (0), - MB_DEFAULT_DESKTOP_ONLY = (0x20000), - MB_HELP = (0x4000), - MB_RIGHT = (0x80000), - MB_RTLREADING = (0x100000), - MB_TOPMOST = (0x40000), - MB_DEFBUTTON1 = (0), - MB_DEFBUTTON2 = (0x100), - MB_DEFBUTTON3 = (0x200), - MB_DEFBUTTON4 = (0x300), - MB_ICONINFORMATION = (0x40), - MB_ICONSTOP = (0x10), - MB_OKCANCEL = (0x1), - MB_RETRYCANCEL = (0x5), - MB_SERVICE_NOTIFICATION = (0x40000), - MB_SETFOREGROUND = (0x10000), - MB_SYSTEMMODAL = (0x1000), - MB_TASKMODAL = (0x2000), - MB_YESNO = (0x4), - MB_YESNOCANCEL = (0x3), - IDABORT = (3), - IDCANCEL = (2), - IDCLOSE = (8), - IDHELP = (9), - IDIGNORE = (5), - IDNO = (7), - IDOK = (1), - IDRETRY = (4), - IDYES = (6), - MSGF_DIALOGBOX = (0), - MSGF_MENU = (2), - MSGF_NEXTWINDOW = (6), - MSGF_SCROLLBAR = (5), - MSGF_MAINLOOP = (8), - MSGF_USER = (4096), - MWT_IDENTITY = (1), - MWT_LEFTMULTIPLY = (2), - MWT_RIGHTMULTIPLY = (3), - MOUSEEVENTF_ABSOLUTE = (32768), - MOUSEEVENTF_MOVE = (1), - MOUSEEVENTF_LEFTDOWN = (2), - MOUSEEVENTF_LEFTUP = (4), - MOUSEEVENTF_RIGHTDOWN = (8), - MOUSEEVENTF_RIGHTUP = (16), - MOUSEEVENTF_MIDDLEDOWN = (32), - MOUSEEVENTF_MIDDLEUP = (64), - MOVEFILE_REPLACE_EXISTING = (1), - MOVEFILE_COPY_ALLOWED = (2), - MOVEFILE_DELAY_UNTIL_REBOOT = (4), - MOVEFILE_WRITE_THROUGH = (8), - WAIT_OBJECT_0 = (0), - WAIT_ABANDONED_0 = (0x80), - WAIT_TIMEOUT = (0x102), - WAIT_IO_COMPLETION = (0xc0), - WAIT_ABANDONED = (0x80), - WAIT_FAILED = (0xffffffff), - MAXIMUM_WAIT_OBJECTS = (0x40), - MAXIMUM_SUSPEND_COUNT = (0x7f), - MB_PRECOMPOSED = (1), - MB_COMPOSITE = (2), - MB_ERR_INVALID_CHARS = (8), - MB_USEGLYPHCHARS = (4), - TOKEN_ADJUST_DEFAULT = (128), - TOKEN_ADJUST_GROUPS = (64), - TOKEN_ADJUST_PRIVILEGES = (32), - TOKEN_ALL_ACCESS = (0xf00ff), - TOKEN_ASSIGN_PRIMARY = (1), - TOKEN_DUPLICATE = (2), - TOKEN_EXECUTE = (0x20000), - TOKEN_IMPERSONATE = (4), - TOKEN_QUERY = (8), - TOKEN_QUERY_SOURCE = (16), - TOKEN_READ = (0x20008), - TOKEN_WRITE = (0x200e0), - SC_MANAGER_ALL_ACCESS = (0xf003f), - SC_MANAGER_CONNECT = (1), - SC_MANAGER_CREATE_SERVICE = (2), - SC_MANAGER_ENUMERATE_SERVICE = (4), - SC_MANAGER_LOCK = (8), - SC_MANAGER_QUERY_LOCK_STATUS = (16), - SC_MANAGER_MODIFY_BOOT_CONFIG = (32), - TAPE_FORMAT = (0x5), - TAPE_LOAD = (0), - TAPE_LOCK = (0x3), - TAPE_TENSION = (0x2), - TAPE_UNLOAD = (0x1), - TAPE_UNLOCK = (0x4), - IS_PSREBOOTSYSTEM = (3), - IS_PSRESTARTWINDOWS = (2), - PSPCB_CREATE = (2), - PSPCB_RELEASE = (1), - PURGE_TXABORT = (1), - PURGE_RXABORT = (2), - PURGE_TXCLEAR = (4), - PURGE_RXCLEAR = (8), - OWNER_SECURITY_INFORMATION = (0x1), - GROUP_SECURITY_INFORMATION = (0x2), - DACL_SECURITY_INFORMATION = (0x4), - SACL_SECURITY_INFORMATION = (0x8), - EVENTLOG_FORWARDS_READ = (4), - EVENTLOG_BACKWARDS_READ = (8), - EVENTLOG_SEEK_READ = (2), - EVENTLOG_SEQUENTIAL_READ = (1), - EVENTLOG_ERROR_TYPE = (1), - EVENTLOG_WARNING_TYPE = (2), - EVENTLOG_INFORMATION_TYPE = (4), - EVENTLOG_AUDIT_SUCCESS = (8), - EVENTLOG_AUDIT_FAILURE = (16), - RDW_ERASE = (4), - RDW_FRAME = (1024), - RDW_INTERNALPAINT = (2), - RDW_INVALIDATE = (1), - RDW_NOERASE = (32), - RDW_NOFRAME = (2048), - RDW_NOINTERNALPAINT = (16), - RDW_VALIDATE = (8), - RDW_ERASENOW = (512), - RDW_UPDATENOW = (256), - RDW_ALLCHILDREN = (128), - RDW_NOCHILDREN = (64), -/* - // - HKEY_CLASSES_ROOT = (0x80000000), - HKEY_CURRENT_USER = (0x80000001), - HKEY_LOCAL_MACHINE = (0x80000002), - HKEY_USERS = (0x80000003), - HKEY_PERFORMANCE_DATA = (0x80000004), - HKEY_CURRENT_CONFIG = (0x80000005), - HKEY_DYN_DATA = (0x80000006), -*/ - REG_OPTION_VOLATILE = (0x1), - REG_OPTION_NON_VOLATILE = (0), - REG_CREATED_NEW_KEY = (0x1), - REG_OPENED_EXISTING_KEY = (0x2), - REG_BINARY = (3), - REG_DWORD = (4), - REG_DWORD_LITTLE_ENDIAN = (4), - REG_DWORD_BIG_ENDIAN = (5), - REG_EXPAND_SZ = (2), - REG_FULL_RESOURCE_DESCRIPTOR = (9), - REG_LINK = (6), - REG_MULTI_SZ = (7), - REG_NONE = (0), - REG_RESOURCE_LIST = (8), - REG_RESOURCE_REQUIREMENTS_LIST = (10), - REG_SZ = (1), - MOD_ALT = (1), - MOD_CONTROL = (2), - MOD_SHIFT = (4), - MOD_WIN = (8), - IDHOT_SNAPDESKTOP = -((2)), - IDHOT_SNAPWINDOW = -((1)), - REG_NOTIFY_CHANGE_NAME = (0x1), - REG_NOTIFY_CHANGE_ATTRIBUTES = (0x2), - REG_NOTIFY_CHANGE_LAST_SET = (0x4), - REG_NOTIFY_CHANGE_SECURITY = (0x8), - SW_ERASE = (4), - SW_INVALIDATE = (2), - SW_SCROLLCHILDREN = (1), - SMTO_ABORTIFHUNG = (2), - SMTO_BLOCK = (1), - SMTO_NORMAL = (0), - OPAQUE = (2), - TRANSPARENT = (1), - SLE_ERROR = (1), - SLE_MINORERROR = (2), - SLE_WARNING = (3), - SEM_FAILCRITICALERRORS = (1), - SEM_NOALIGNMENTFAULTEXCEPT = (4), - SEM_NOGPFAULTERRORBOX = (2), - SEM_NOOPENFILEERRORBOX = (32768), - ICM_ON = (2), - ICM_OFF = (1), - ICM_QUERY = (3), - LOCALE_ILANGUAGE = (1), - LOCALE_SLANGUAGE = (2), - LOCALE_SENGLANGUAGE = (4097), - LOCALE_SABBREVLANGNAME = (3), - LOCALE_SNATIVELANGNAME = (4), - LOCALE_ICOUNTRY = (5), - LOCALE_SCOUNTRY = (6), - LOCALE_SENGCOUNTRY = (4098), - LOCALE_SABBREVCTRYNAME = (7), - LOCALE_SNATIVECTRYNAME = (8), - LOCALE_IDEFAULTLANGUAGE = (9), - LOCALE_IDEFAULTCOUNTRY = (10), - LOCALE_IDEFAULTANSICODEPAGE = (4100), - LOCALE_IDEFAULTCODEPAGE = (11), - LOCALE_SLIST = (12), - LOCALE_IMEASURE = (13), - LOCALE_SDECIMAL = (14), - LOCALE_STHOUSAND = (15), - LOCALE_SGROUPING = (16), - LOCALE_IDIGITS = (17), - LOCALE_ILZERO = (18), - LOCALE_INEGNUMBER = (4112), - LOCALE_SCURRENCY = (20), - LOCALE_SMONDECIMALSEP = (22), - LOCALE_SMONTHOUSANDSEP = (23), - LOCALE_SMONGROUPING = (24), - LOCALE_ICURRDIGITS = (25), - LOCALE_ICURRENCY = (27), - LOCALE_INEGCURR = (28), - LOCALE_SDATE = (29), - LOCALE_STIME = (30), - LOCALE_STIMEFORMAT = (4099), - LOCALE_SSHORTDATE = (31), - LOCALE_SLONGDATE = (32), - LOCALE_IDATE = (33), - LOCALE_ILDATE = (34), - LOCALE_ITIME = (35), - LOCALE_ITLZERO = (37), - LOCALE_IDAYLZERO = (38), - LOCALE_IMONLZERO = (39), - LOCALE_S1159 = (40), - LOCALE_S2359 = (41), - LOCALE_ICALENDARTYPE = (4105), - LOCALE_IOPTIONALCALENDAR = (4107), - LOCALE_IFIRSTDAYOFWEEK = (4108), - LOCALE_IFIRSTWEEKOFYEAR = (4109), - LOCALE_SDAYNAME1 = (42), - LOCALE_SDAYNAME2 = (43), - LOCALE_SDAYNAME3 = (44), - LOCALE_SDAYNAME4 = (45), - LOCALE_SDAYNAME5 = (46), - LOCALE_SDAYNAME6 = (47), - LOCALE_SDAYNAME7 = (48), - LOCALE_SABBREVDAYNAME1 = (49), - LOCALE_SABBREVDAYNAME2 = (50), - LOCALE_SABBREVDAYNAME3 = (51), - LOCALE_SABBREVDAYNAME4 = (52), - LOCALE_SABBREVDAYNAME5 = (53), - LOCALE_SABBREVDAYNAME6 = (54), - LOCALE_SABBREVDAYNAME7 = (55), - LOCALE_SMONTHNAME1 = (56), - LOCALE_SMONTHNAME2 = (57), - LOCALE_SMONTHNAME3 = (58), - LOCALE_SMONTHNAME4 = (59), - LOCALE_SMONTHNAME5 = (60), - LOCALE_SMONTHNAME6 = (61), - LOCALE_SMONTHNAME7 = (62), - LOCALE_SMONTHNAME8 = (63), - LOCALE_SMONTHNAME9 = (64), - LOCALE_SMONTHNAME10 = (65), - LOCALE_SMONTHNAME11 = (66), - LOCALE_SMONTHNAME12 = (67), - LOCALE_SMONTHNAME13 = (4110), - LOCALE_SABBREVMONTHNAME1 = (68), - LOCALE_SABBREVMONTHNAME2 = (69), - LOCALE_SABBREVMONTHNAME3 = (70), - LOCALE_SABBREVMONTHNAME4 = (71), - LOCALE_SABBREVMONTHNAME5 = (72), - LOCALE_SABBREVMONTHNAME6 = (73), - LOCALE_SABBREVMONTHNAME7 = (74), - LOCALE_SABBREVMONTHNAME8 = (75), - LOCALE_SABBREVMONTHNAME9 = (76), - LOCALE_SABBREVMONTHNAME10 = (77), - LOCALE_SABBREVMONTHNAME11 = (78), - LOCALE_SABBREVMONTHNAME12 = (79), - LOCALE_SABBREVMONTHNAME13 = (4111), - LOCALE_SPOSITIVESIGN = (80), - LOCALE_SNEGATIVESIGN = (81), - LOCALE_IPOSSIGNPOSN = (82), - LOCALE_INEGSIGNPOSN = (83), - LOCALE_IPOSSYMPRECEDES = (84), - LOCALE_IPOSSEPBYSPACE = (85), - LOCALE_INEGSYMPRECEDES = (86), - LOCALE_INEGSEPBYSPACE = (87), - LOCALE_NOUSEROVERRIDE = (0x80000000), - CAL_ICALINTVALUE = (1), - CAL_IYEAROFFSETRANGE = (3), - CAL_SABBREVDAYNAME1 = (14), - CAL_SABBREVDAYNAME2 = (15), - CAL_SABBREVDAYNAME3 = (16), - CAL_SABBREVDAYNAME4 = (17), - CAL_SABBREVDAYNAME5 = (18), - CAL_SABBREVDAYNAME6 = (19), - CAL_SABBREVDAYNAME7 = (20), - CAL_SABBREVMONTHNAME1 = (34), - CAL_SABBREVMONTHNAME2 = (35), - CAL_SABBREVMONTHNAME3 = (36), - CAL_SABBREVMONTHNAME4 = (37), - CAL_SABBREVMONTHNAME5 = (38), - CAL_SABBREVMONTHNAME6 = (39), - CAL_SABBREVMONTHNAME7 = (40), - CAL_SABBREVMONTHNAME8 = (41), - CAL_SABBREVMONTHNAME9 = (42), - CAL_SABBREVMONTHNAME10 = (43), - CAL_SABBREVMONTHNAME11 = (44), - CAL_SABBREVMONTHNAME12 = (45), - CAL_SABBREVMONTHNAME13 = (46), - CAL_SCALNAME = (2), - CAL_SDAYNAME1 = (7), - CAL_SDAYNAME2 = (8), - CAL_SDAYNAME3 = (9), - CAL_SDAYNAME4 = (10), - CAL_SDAYNAME5 = (11), - CAL_SDAYNAME6 = (12), - CAL_SDAYNAME7 = (13), - CAL_SERASTRING = (4), - CAL_SLONGDATE = (6), - CAL_SMONTHNAME1 = (21), - CAL_SMONTHNAME2 = (22), - CAL_SMONTHNAME3 = (23), - CAL_SMONTHNAME4 = (24), - CAL_SMONTHNAME5 = (25), - CAL_SMONTHNAME6 = (26), - CAL_SMONTHNAME7 = (27), - CAL_SMONTHNAME8 = (28), - CAL_SMONTHNAME9 = (29), - CAL_SMONTHNAME10 = (30), - CAL_SMONTHNAME11 = (31), - CAL_SMONTHNAME12 = (32), - CAL_SMONTHNAME13 = (33), - CAL_SSHORTDATE = (5), - PROCESS_SET_QUOTA = (256), - BLACKONWHITE = (1), - COLORONCOLOR = (3), - HALFTONE = (4), - STRETCH_ANDSCANS = (1), - STRETCH_DELETESCANS = (3), - STRETCH_HALFTONE = (4), - STRETCH_ORSCANS = (2), - WHITEONBLACK = (2), - OCR_NORMAL = (32512), - OCR_IBEAM = (32513), - OCR_WAIT = (32514), - OCR_CROSS = (32515), - OCR_UP = (32516), - OCR_SIZE = (32640), - OCR_ICON = (32641), - OCR_SIZENWSE = (32642), - OCR_SIZENESW = (32643), - OCR_SIZEWE = (32644), - OCR_SIZENS = (32645), - OCR_SIZEALL = (32646), - OCR_NO = (32648), - OCR_APPSTARTING = (32650), - TAPE_ABSOLUTE_BLOCK = (0x1), - TAPE_LOGICAL_BLOCK = (0x2), - TAPE_REWIND = (0), - TAPE_SPACE_END_OF_DATA = (0x4), - TAPE_SPACE_FILEMARKS = (0x6), - TAPE_SPACE_RELATIVE_BLOCKS = (0x5), - TAPE_SPACE_SEQUENTIAL_FMKS = (0x7), - TAPE_SPACE_SEQUENTIAL_SMKS = (0x9), - TAPE_SPACE_SETMARKS = (0x8), - EXCEPTION_EXECUTE_HANDLER = (1), - EXCEPTION_CONTINUE_EXECUTION = -((1)), - EXCEPTION_CONTINUE_SEARCH = (0), - SWP_DRAWFRAME = (32), - SWP_FRAMECHANGED = (32), - SWP_HIDEWINDOW = (128), - SWP_NOACTIVATE = (16), - SWP_NOCOPYBITS = (256), - SWP_NOMOVE = (2), - SWP_NOSIZE = (1), - SWP_NOREDRAW = (8), - SWP_NOZORDER = (4), - SWP_SHOWWINDOW = (64), - SWP_NOOWNERZORDER = (512), - SWP_NOREPOSITION = (512), - SWP_NOSENDCHANGING = (1024), - HSHELL_ACTIVATESHELLWINDOW = (3), - HSHELL_GETMINRECT = (5), - HSHELL_LANGUAGE = (8), - HSHELL_REDRAW = (6), - HSHELL_TASKMAN = (7), - HSHELL_WINDOWACTIVATED = (4), - HSHELL_WINDOWCREATED = (1), - HSHELL_WINDOWDESTROYED = (2), - SW_HIDE = (0), - SW_MAXIMIZE = (3), - SW_MINIMIZE = (6), - SW_NORMAL = (1), - SW_RESTORE = (9), - SW_SHOW = (5), - SW_SHOWDEFAULT = (10), - SW_SHOWMAXIMIZED = (3), - SW_SHOWMINIMIZED = (2), - SW_SHOWMINNOACTIVE = (7), - SW_SHOWNA = (8), - SW_SHOWNOACTIVATE = (4), - SW_SHOWNORMAL = (1), - WPF_RESTORETOMAXIMIZED = (2), - WPF_SETMINPOSITION = (1), - INFINITE = (0xFFFFFFFF), - SPI_GETACCESSTIMEOUT = (60), - SPI_GETANIMATION = (72), - SPI_GETBEEP = (1), - SPI_GETBORDER = (5), - SPI_GETDEFAULTINPUTLANG = (89), - SPI_GETDRAGFULLWINDOWS = (38), - SPI_GETFASTTASKSWITCH = (35), - SPI_GETFILTERKEYS = (50), - SPI_GETFONTSMOOTHING = (74), - SPI_GETGRIDGRANULARITY = (18), - SPI_GETHIGHCONTRAST = (66), - SPI_GETICONMETRICS = (45), - SPI_GETICONTITLELOGFONT = (31), - SPI_GETICONTITLEWRAP = (25), - SPI_GETKEYBOARDDELAY = (22), - SPI_GETKEYBOARDPREF = (68), - SPI_GETKEYBOARDSPEED = (10), - SPI_GETLOWPOWERACTIVE = (83), - SPI_GETLOWPOWERTIMEOUT = (79), - SPI_GETMENUDROPALIGNMENT = (27), - SPI_GETMINIMIZEDMETRICS = (43), - SPI_GETMOUSE = (3), - SPI_GETMOUSEKEYS = (54), - SPI_GETMOUSETRAILS = (94), - SPI_GETNONCLIENTMETRICS = (41), - SPI_GETPOWEROFFACTIVE = (84), - SPI_GETPOWEROFFTIMEOUT = (80), - SPI_GETSCREENREADER = (70), - SPI_GETSCREENSAVEACTIVE = (16), - SPI_GETSCREENSAVETIMEOUT = (14), - SPI_GETSERIALKEYS = (62), - SPI_GETSHOWSOUNDS = (56), - SPI_GETSOUNDSENTRY = (64), - SPI_GETSTICKYKEYS = (58), - SPI_GETTOGGLEKEYS = (52), - SPI_GETWINDOWSEXTENSION = (92), - SPI_GETWORKAREA = (48), - SPI_ICONHORIZONTALSPACING = (13), - SPI_ICONVERTICALSPACING = (24), - SPI_LANGDRIVER = (12), - SPI_SCREENSAVERRUNNING = (97), - SPI_SETACCESSTIMEOUT = (61), - SPI_SETANIMATION = (73), - SPI_SETBEEP = (2), - SPI_SETBORDER = (6), - SPI_SETDEFAULTINPUTLANG = (90), - SPI_SETDESKPATTERN = (21), - SPI_SETDESKWALLPAPER = (20), - SPI_SETDOUBLECLICKTIME = (32), - SPI_SETDOUBLECLKHEIGHT = (30), - SPI_SETDOUBLECLKWIDTH = (29), - SPI_SETDRAGFULLWINDOWS = (37), - SPI_SETDRAGHEIGHT = (77), - SPI_SETDRAGWIDTH = (76), - SPI_SETFASTTASKSWITCH = (36), - SPI_SETFILTERKEYS = (51), - SPI_SETFONTSMOOTHING = (75), - SPI_SETGRIDGRANULARITY = (19), - SPI_SETHANDHELD = (78), - SPI_SETHIGHCONTRAST = (67), - SPI_SETICONMETRICS = (46), - SPI_SETICONTITLELOGFONT = (34), - SPI_SETICONTITLEWRAP = (26), - SPI_SETKEYBOARDDELAY = (23), - SPI_SETKEYBOARDPREF = (69), - SPI_SETKEYBOARDSPEED = (11), - SPI_SETLANGTOGGLE = (91), - SPI_SETLOWPOWERACTIVE = (85), - SPI_SETLOWPOWERTIMEOUT = (81), - SPI_SETMENUDROPALIGNMENT = (28), - SPI_SETMINIMIZEDMETRICS = (44), - SPI_SETMOUSE = (4), - SPI_SETMOUSEBUTTONSWAP = (33), - SPI_SETMOUSEKEYS = (55), - SPI_SETMOUSETRAILS = (93), - SPI_SETNONCLIENTMETRICS = (42), - SPI_SETPENWINDOWS = (49), - SPI_SETPOWEROFFACTIVE = (86), - SPI_SETPOWEROFFTIMEOUT = (82), - SPI_SETSCREENREADER = (71), - SPI_SETSCREENSAVEACTIVE = (17), - SPI_SETSCREENSAVETIMEOUT = (15), - SPI_SETSERIALKEYS = (63), - SPI_SETSHOWSOUNDS = (57), - SPI_SETSOUNDSENTRY = (65), - SPI_SETSTICKYKEYS = (59), - SPI_SETTOGGLEKEYS = (53), - SPI_SETWORKAREA = (47), - SPIF_UPDATEINIFILE = (1), - SPIF_SENDWININICHANGE = (2), - SPIF_SENDCHANGE = (2), - TPM_CENTERALIGN = (0x4), - TPM_LEFTALIGN = (0), - TPM_RIGHTALIGN = (0x8), - TPM_LEFTBUTTON = (0), - TPM_RIGHTBUTTON = (0x2), - TPM_HORIZONTAL = (0), - TPM_VERTICAL = (0x40), - TCI_SRCCHARSET = (1), - TCI_SRCCODEPAGE = (2), - TCI_SRCFONTSIG = (3), - VFFF_ISSHAREDFILE = (1), - VFF_CURNEDEST = (1), - VFF_FILEINUSE = (2), - VFF_BUFFTOOSMALL = (4), - VIFF_FORCEINSTALL = (1), - VIFF_DONTDELETEOLD = (2), - VIF_TEMPFILE = (0x1), - VIF_MISMATCH = (0x2), - VIF_SRCOLD = (0x4), - VIF_DIFFLANG = (0x8), - VIF_DIFFCODEPG = (0x10), - VIF_DIFFTYPE = (0x20), - VIF_WRITEPROT = (0x40), - VIF_FILEINUSE = (0x80), - VIF_OUTOFSPACE = (0x100), - VIF_ACCESSVIOLATION = (0x200), - VIF_SHARINGVIOLATION = (0x400), - VIF_CANNOTCREATE = (0x800), - VIF_CANNOTDELETE = (0x1000), - VIF_CANNOTDELETECUR = (0x4000), - VIF_CANNOTRENAME = (0x2000), - VIF_OUTOFMEMORY = (0x8000), - VIF_CANNOTREADSRC = (0x10000), - VIF_CANNOTREADDST = (0x20000), - VIF_BUFFTOOSMALL = (0x40000), - WC_COMPOSITECHECK = (512), - WC_DISCARDNS = (16), - WC_SEPCHARS = (32), - WC_DEFAULTCHAR = (64), - HELP_COMMAND = (0x102), - HELP_CONTENTS = (0x3), - HELP___FILE__ = (0x1), - HELP___FILE__POPUP = (0x8), - HELP_FORCEFILE = (0x9), - HELP_HELPONHELP = (0x4), - HELP_INDEX = (0x3), - HELP_KEY = (0x101), - HELP_MULTIKEY = (0x201), - HELP_PARTIALKEY = (0x105), - HELP_QUIT = (0x2), - HELP_SETCONTENTS = (0x5), - HELP_SETINDEX = (0x5), - HELP___FILE__MENU = (0xa), - HELP_FINDER = (0xb), - HELP_WM_HELP = (0xc), - HELP_TCARD = (0x8000), - HELP_TCARD_DATA = (0x10), - HELP_TCARD_OTHER_CALLER = (0x11), - CONNECT_UPDATE_PROFILE = (1), - RESOURCETYPE_DISK = (1), - RESOURCETYPE_PRINT = (2), - RESOURCETYPE_ANY = (0), - RESOURCE_CONNECTED = (1), - RESOURCE_GLOBALNET = (2), - RESOURCE_REMEMBERED = (3), - RESOURCEUSAGE_CONNECTABLE = (1), - RESOURCEUSAGE_CONTAINER = (2), - WN_BAD_NETNAME = (0x43), - WN_EXTENDED_ERROR = (0x4b8), - WN_MORE_DATA = (0xea), - WN_NO_NETWORK = (0x4c6), - WN_SUCCESS = (0), - WN_ACCESS_DENIED = (0x5), - WN_BAD_PROVIDER = (0x4b4), - WN_NOT_AUTHENTICATED = (0x4dc), - UNIVERSAL_NAME_INFO_LEVEL = (1), - REMOTE_NAME_INFO_LEVEL = (2), - STILL_ACTIVE = (0x103), - SP_SERIALCOMM = (0x1), - BAUD_075 = (0x1), - BAUD_110 = (0x2), - BAUD_134_5 = (0x4), - BAUD_150 = (0x8), - BAUD_300 = (0x10), - BAUD_600 = (0x20), - BAUD_1200 = (0x40), - BAUD_1800 = (0x80), - BAUD_2400 = (0x100), - BAUD_4800 = (0x200), - BAUD_7200 = (0x400), - BAUD_9600 = (0x800), - BAUD_14400 = (0x1000), - BAUD_19200 = (0x2000), - BAUD_38400 = (0x4000), - BAUD_56K = (0x8000), - BAUD_57600 = (0x40000), - BAUD_115200 = (0x20000), - BAUD_128K = (0x10000), - BAUD_USER = (0x10000000), - PST_FAX = (0x21), - PST_LAT = (0x101), - PST_MODEM = (0x6), - PST_NETWORK_BRIDGE = (0x100), - PST_PARALLELPORT = (0x2), - PST_RS232 = (0x1), - PST_RS422 = (0x3), - PST_RS423 = (0x4), - PST_RS449 = (0x5), - PST_SCANNER = (0x22), - PST_TCPIP_TELNET = (0x102), - PST_UNSPECIFIED = (0), - PST_X25 = (0x103), - PCF_16BITMODE = (0x200), - PCF_DTRDSR = (0x1), - PCF_INTTIMEOUTS = (0x80), - PCF_PARITY_CHECK = (0x8), - PCF_RLSD = (0x4), - PCF_RTSCTS = (0x2), - PCF_SETXCHAR = (0x20), - PCF_SPECIALCHARS = (0x100), - PCF_TOTALTIMEOUTS = (0x40), - PCF_XONXOFF = (0x10), - SP_BAUD = (0x2), - SP_DATABITS = (0x4), - SP_HANDSHAKING = (0x10), - SP_PARITY = (0x1), - SP_PARITY_CHECK = (0x20), - SP_RLSD = (0x40), - SP_STOPBITS = (0x8), - DATABITS_5 = (1), - DATABITS_6 = (2), - DATABITS_7 = (4), - DATABITS_8 = (8), - DATABITS_16 = (16), - DATABITS_16X = (32), - STOPBITS_10 = (1), - STOPBITS_15 = (2), - STOPBITS_20 = (4), - PARITY_NONE = (256), - PARITY_ODD = (512), - PARITY_EVEN = (1024), - PARITY_MARK = (2048), - PARITY_SPACE = (4096), - COMMPROP_INITIALIZED = (0xe73cf52e), - CBR_110 = (110), - CBR_300 = (300), - CBR_600 = (600), - CBR_1200 = (1200), - CBR_2400 = (2400), - CBR_4800 = (4800), - CBR_9600 = (9600), - CBR_14400 = (14400), - CBR_19200 = (19200), - CBR_38400 = (38400), - CBR_56000 = (56000), - CBR_57600 = (57600), - CBR_115200 = (115200), - CBR_128000 = (128000), - CBR_256000 = (256000), - DTR_CONTROL_DISABLE = (0), - DTR_CONTROL_ENABLE = (1), - DTR_CONTROL_HANDSHAKE = (2), - RTS_CONTROL_DISABLE = (0), - RTS_CONTROL_ENABLE = (1), - RTS_CONTROL_HANDSHAKE = (2), - RTS_CONTROL_TOGGLE = (3), - EVENPARITY = (2), - MARKPARITY = (3), - NOPARITY = (0), - ODDPARITY = (1), - SPACEPARITY = (4), - ONESTOPBIT = (0), - ONE5STOPBITS = (1), - TWOSTOPBITS = (2), - CREATE_PROCESS_DEBUG_EVENT = (3), - CREATE_THREAD_DEBUG_EVENT = (2), - EXCEPTION_DEBUG_EVENT = (1), - EXIT_PROCESS_DEBUG_EVENT = (5), - EXIT_THREAD_DEBUG_EVENT = (4), - LOAD_DLL_DEBUG_EVENT = (6), - OUTPUT_DEBUG_STRING_EVENT = (8), - UNLOAD_DLL_DEBUG_EVENT = (7), - RIP_EVENT = (9), - PROCESS_HEAP_REGION = (1), - PROCESS_HEAP_UNCOMMITTED_RANGE = (2), - PROCESS_HEAP_ENTRY_BUSY = (4), - PROCESS_HEAP_ENTRY_MOVEABLE = (16), - PROCESS_HEAP_ENTRY_DDESHARE = (32), - HINSTANCE_ERROR = (32), - BACKUP_DATA = (1), - BACKUP_EA_DATA = (2), - BACKUP_SECURITY_DATA = (3), - BACKUP_ALTERNATE_DATA = (4), - BACKUP_LINK = (5), - STREAM_MODIFIED_WHEN_READ = (1), - STREAM_CONTAINS_SECURITY = (2), - STARTF_USESHOWWINDOW = (1), - STARTF_USEPOSITION = (4), - STARTF_USESIZE = (2), - STARTF_USECOUNTCHARS = (8), - STARTF_USEFILLATTRIBUTE = (16), - STARTF_RUNFULLSCREEN = (32), - STARTF_FORCEONFEEDBACK = (64), - STARTF_FORCEOFFFEEDBACK = (128), - STARTF_USESTDHANDLES = (256), - STARTF_USEHOTKEY = (512), - VER_PLATFORM_WIN32s = (0), - VER_PLATFORM_WIN32_WINDOWS = (1), - VER_PLATFORM_WIN32_NT = (2), - MAXPROPPAGES = (100), - PSP_DEFAULT = (0), - PSP_DLGINDIRECT = (1), - PSP_HASHELP = (32), - PSP_USECALLBACK = (128), - PSP_USEHICON = (2), - PSP_USEICONID = (4), - PSP_USEREFPARENT = (64), - PSP_USETITLE = (8), - PSP_RTLREADING = (16), - PSH_DEFAULT = (0), - PSH_HASHELP = (512), - PSH_MODELESS = (1024), - PSH_NOAPPLYNOW = (128), - PSH_PROPSHEETPAGE = (8), - PSH_PROPTITLE = (1), - PSH_USECALLBACK = (256), - PSH_USEHICON = (2), - PSH_USEICONID = (4), - PSH_USEPSTARTPAGE = (64), - PSH_WIZARD = (32), - PSH_RTLREADING = (2048), - PSCB_INITIALIZED = (1), - PSCB_PRECREATE = (2), - PSNRET_NOERROR = (0), - PSNRET_INVALID_NOCHANGEPAGE = (2), - PSBTN_APPLYNOW = (4), - PSBTN_BACK = (0), - PSBTN_CANCEL = (5), - PSBTN_FINISH = (2), - PSBTN_HELP = (6), - PSBTN_NEXT = (1), - PSBTN_OK = (3), - PSWIZB_BACK = (1), - PSWIZB_NEXT = (2), - PSWIZB_FINISH = (4), - PSWIZB_DISABLEDFINISH = (8), - ID_PSREBOOTSYSTEM = (3), - ID_PSRESTARTWINDOWS = (2), - WIZ_BODYCX = (184), - WIZ_BODYX = (92), - WIZ_CXBMP = (80), - WIZ_CXDLG = (276), - WIZ_CYDLG = (140), -} -char* VS_FILE_INFO = cast(char*) ((16)); -enum : DWORD { - VS_VERSION_INFO = (1), - VS_FF_DEBUG = (0x1), - VS_FF_INFOINFERRED = (0x10), - VS_FF_PATCHED = (0x4), - VS_FF_PRERELEASE = (0x2), - VS_FF_PRIVATEBUILD = (0x8), - VS_FF_SPECIALBUILD = (0x20), - VOS_UNKNOWN = (0), - VOS_DOS = (0x10000), - VOS_OS216 = (0x20000), - VOS_OS232 = (0x30000), - VOS_NT = (0x40000), - VOS_DOS_WINDOWS16 = (0x10001), - VOS_DOS_WINDOWS32 = (0x10004), - VOS_OS216_PM16 = (0x20002), - VOS_OS232_PM32 = (0x30003), - VOS_NT_WINDOWS32 = (0x40004), - VFT_UNKNOWN = (0), - VFT_APP = (0x1), - VFT_DLL = (0x2), - VFT_DRV = (0x3), - VFT_FONT = (0x4), - VFT_VXD = (0x5), - VFT_STATIC_LIB = (0x7), - VFT2_UNKNOWN = (0), - VFT2_DRV_PRINTER = (0x1), - VFT2_DRV_KEYBOARD = (0x2), - VFT2_DRV_LANGUAGE = (0x3), - VFT2_DRV_DISPLAY = (0x4), - VFT2_DRV_MOUSE = (0x5), - VFT2_DRV_NETWORK = (0x6), - VFT2_DRV_SYSTEM = (0x7), - VFT2_DRV_INSTALLABLE = (0x8), - VFT2_DRV_SOUND = (0x9), - VFT2_FONT_RASTER = (0x1), - VFT2_FONT_VECTOR = (0x2), - VFT2_FONT_TRUETYPE = (0x3), - PAN_ANY = (0), - PAN_NO_FIT = (1), - PAN_FAMILY_TEXT_DISPLAY = (2), - PAN_FAMILY_SCRIPT = (3), - PAN_FAMILY_DECORATIVE = (4), - PAN_FAMILY_PICTORIAL = (5), - PAN_SERIF_COVE = (2), - PAN_SERIF_OBTUSE_COVE = (3), - PAN_SERIF_SQUARE_COVE = (4), - PAN_SERIF_OBTUSE_SQUARE_COVE = (5), - PAN_SERIF_SQUARE = (6), - PAN_SERIF_THIN = (7), - PAN_SERIF_BONE = (8), - PAN_SERIF_EXAGGERATED = (9), - PAN_SERIF_TRIANGLE = (10), - PAN_SERIF_NORMAL_SANS = (11), - PAN_SERIF_OBTUSE_SANS = (12), - PAN_SERIF_PERP_SANS = (13), - PAN_SERIF_FLARED = (14), - PAN_SERIF_ROUNDED = (15), - PAN_WEIGHT_VERY_LIGHT = (2), - PAN_WEIGHT_LIGHT = (3), - PAN_WEIGHT_THIN = (4), - PAN_WEIGHT_BOOK = (5), - PAN_WEIGHT_MEDIUM = (6), - PAN_WEIGHT_DEMI = (7), - PAN_WEIGHT_BOLD = (8), - PAN_WEIGHT_HEAVY = (9), - PAN_WEIGHT_BLACK = (10), - PAN_WEIGHT_NORD = (11), - PAN_PROP_OLD_STYLE = (2), - PAN_PROP_MODERN = (3), - PAN_PROP_EVEN_WIDTH = (4), - PAN_PROP_EXPANDED = (5), - PAN_PROP_CONDENSED = (6), - PAN_PROP_VERY_EXPANDED = (7), - PAN_PROP_VERY_CONDENSED = (8), - PAN_PROP_MONOSPACED = (9), - PAN_CONTRAST_NONE = (2), - PAN_CONTRAST_VERY_LOW = (3), - PAN_CONTRAST_LOW = (4), - PAN_CONTRAST_MEDIUM_LOW = (5), - PAN_CONTRAST_MEDIUM = (6), - PAN_CONTRAST_MEDIUM_HIGH = (7), - PAN_CONTRAST_HIGH = (8), - PAN_CONTRAST_VERY_HIGH = (9), - PAN_STROKE_GRADUAL_DIAG = (2), - PAN_STROKE_GRADUAL_TRAN = (3), - PAN_STROKE_GRADUAL_VERT = (4), - PAN_STROKE_GRADUAL_HORZ = (5), - PAN_STROKE_RAPID_VERT = (6), - PAN_STROKE_RAPID_HORZ = (7), - PAN_STROKE_INSTANT_VERT = (8), - PAN_STRAIGHT_ARMS_HORZ = (2), - PAN_STRAIGHT_ARMS_WEDGE = (3), - PAN_STRAIGHT_ARMS_VERT = (4), - PAN_STRAIGHT_ARMS_SINGLE_SERIF = (5), - PAN_STRAIGHT_ARMS_DOUBLE_SERIF = (6), - PAN_BENT_ARMS_HORZ = (7), - PAN_BENT_ARMS_VERT = (9), - PAN_BENT_ARMS_WEDGE = (8), - PAN_BENT_ARMS_SINGLE_SERIF = (10), - PAN_BENT_ARMS_DOUBLE_SERIF = (11), - PAN_LETT_NORMAL_CONTACT = (2), - PAN_LETT_NORMAL_WEIGHTED = (3), - PAN_LETT_NORMAL_BOXED = (4), - PAN_LETT_NORMAL_FLATTENED = (5), - PAN_LETT_NORMAL_ROUNDED = (6), - PAN_LETT_NORMAL_OFF_CENTER = (7), - PAN_LETT_NORMAL_SQUARE = (8), - PAN_LETT_OBLIQUE_CONTACT = (9), - PAN_LETT_OBLIQUE_WEIGHTED = (10), - PAN_LETT_OBLIQUE_BOXED = (11), - PAN_LETT_OBLIQUE_FLATTENED = (12), - PAN_LETT_OBLIQUE_ROUNDED = (13), - PAN_LETT_OBLIQUE_OFF_CENTER = (14), - PAN_LETT_OBLIQUE_SQUARE = (15), - PAN_MIDLINE_STANDARD_TRIMMED = (2), - PAN_MIDLINE_STANDARD_POINTED = (3), - PAN_MIDLINE_STANDARD_SERIFED = (4), - PAN_MIDLINE_HIGH_TRIMMED = (5), - PAN_MIDLINE_HIGH_POINTED = (6), - PAN_MIDLINE_HIGH_SERIFED = (7), - PAN_MIDLINE_CONSTANT_TRIMMED = (8), - PAN_MIDLINE_CONSTANT_POINTED = (9), - PAN_MIDLINE_CONSTANT_SERIFED = (10), - PAN_MIDLINE_LOW_TRIMMED = (11), - PAN_MIDLINE_LOW_POINTED = (12), - PAN_MIDLINE_LOW_SERIFED = (13), - PAN_XHEIGHT_CONSTANT_SMALL = (2), - PAN_XHEIGHT_CONSTANT_STD = (3), - PAN_XHEIGHT_CONSTANT_LARGE = (4), - PAN_XHEIGHT_DUCKING_SMALL = (5), - PAN_XHEIGHT_DUCKING_STD = (6), - PAN_XHEIGHT_DUCKING_LARGE = (7), - PC_EXPLICIT = (2), - PC_NOCOLLAPSE = (4), - PC_RESERVED = (1), - BS_DIBPATTERN = (5), - BS_DIBPATTERN8X8 = (8), - BS_DIBPATTERNPT = (6), - BS_HATCHED = (2), - BS_HOLLOW = (1), - BS_NULL = (1), - BS_PATTERN = (3), - BS_PATTERN8X8 = (7), - BS_SOLID = (0), - DM_ORIENTATION = (0x1), - DM_PAPERSIZE = (0x2), - DM_PAPERLENGTH = (0x4), - DM_PAPERWIDTH = (0x8), - DM_SCALE = (0x10), - DM_COPIES = (0x100), - DM_DEFAULTSOURCE = (0x200), - DM_PRINTQUALITY = (0x400), - DM_COLOR = (0x800), - DM_DUPLEX = (0x1000), - DM_YRESOLUTION = (0x2000), - DM_TTOPTION = (0x4000), - DM_COLLATE = (0x8000), - DM_FORMNAME = (0x10000), - DM_LOGPIXELS = (0x20000), - DM_ICMMETHOD = (0x800000), - DM_ICMINTENT = (0x1000000), - DM_MEDIATYPE = (0x2000000), - DM_DITHERTYPE = (0x4000000), - DMORIENT_LANDSCAPE = (2), - DMORIENT_PORTRAIT = (1), - DMPAPER_LETTER = (1), - DMPAPER_LEGAL = (5), - DMPAPER_A4 = (9), - DMPAPER_CSHEET = (24), - DMPAPER_DSHEET = (25), - DMPAPER_ESHEET = (26), - DMPAPER_LETTERSMALL = (2), - DMPAPER_TABLOID = (3), - DMPAPER_LEDGER = (4), - DMPAPER_STATEMENT = (6), - DMPAPER_EXECUTIVE = (7), - DMPAPER_A3 = (8), - DMPAPER_A4SMALL = (10), - DMPAPER_A5 = (11), - DMPAPER_B4 = (12), - DMPAPER_B5 = (13), - DMPAPER_FOLIO = (14), - DMPAPER_QUARTO = (15), - DMPAPER_10X14 = (16), - DMPAPER_11X17 = (17), - DMPAPER_NOTE = (18), - DMPAPER_ENV_9 = (19), - DMPAPER_ENV_10 = (20), - DMPAPER_ENV_11 = (21), - DMPAPER_ENV_12 = (22), - DMPAPER_ENV_14 = (23), - DMPAPER_ENV_DL = (27), - DMPAPER_ENV_C5 = (28), - DMPAPER_ENV_C3 = (29), - DMPAPER_ENV_C4 = (30), - DMPAPER_ENV_C6 = (31), - DMPAPER_ENV_C65 = (32), - DMPAPER_ENV_B4 = (33), - DMPAPER_ENV_B5 = (34), - DMPAPER_ENV_B6 = (35), - DMPAPER_ENV_ITALY = (36), - DMPAPER_ENV_MONARCH = (37), - DMPAPER_ENV_PERSONAL = (38), - DMPAPER_FANFOLD_US = (39), - DMPAPER_FANFOLD_STD_GERMAN = (40), - DMPAPER_FANFOLD_LGL_GERMAN = (41), - DMRES_HIGH = -((4)), - DMRES_MEDIUM = -((3)), - DMRES_LOW = -((2)), - DMRES_DRAFT = -((1)), - DMCOLOR_COLOR = (2), - DMCOLOR_MONOCHROME = (1), - DMDUP_SIMPLEX = (1), - DMDUP_HORIZONTAL = (3), - DMDUP_VERTICAL = (2), - DMTT_BITMAP = (1), - DMTT_DOWNLOAD = (2), - DMTT_SUBDEV = (3), - DMCOLLATE_TRUE = (1), - DMCOLLATE_FALSE = (0), - DM_GRAYSCALE = (1), - DM_INTERLACED = (2), - DMICMMETHOD_NONE = (1), - DMICMMETHOD_SYSTEM = (2), - DMICMMETHOD_DRIVER = (3), - DMICMMETHOD_DEVICE = (4), - DMICMMETHOD_USER = (256), - DMICM_SATURATE = (1), - DMICM_CONTRAST = (2), - DMICM_COLORMETRIC = (3), - DMICM_USER = (256), - DMMEDIA_STANDARD = (1), - DMMEDIA_GLOSSY = (3), - DMMEDIA_TRANSPARENCY = (2), - DMMEDIA_USER = (256), - DMDITHER_NONE = (1), - DMDITHER_COARSE = (2), - DMDITHER_FINE = (3), - DMDITHER_LINEART = (4), - DMDITHER_GRAYSCALE = (10), - DMDITHER_USER = (256), - RDH_RECTANGLES = (1), - TT_POLYGON_TYPE = (24), - TT_PRIM_LINE = (1), - TT_PRIM_QSPLINE = (2), - GCPCLASS_ARABIC = (2), - GCPCLASS_HEBREW = (2), - GCPCLASS_LATIN = (1), - GCPCLASS_LATINNUMBER = (5), - GCPCLASS_LOCALNUMBER = (4), - GCPCLASS_LATINNUMERICSEPARATOR = (7), - GCPCLASS_LATINNUMERICTERMINATOR = (6), - GCPCLASS_NEUTRAL = (3), - GCPCLASS_NUMERICSEPARATOR = (8), - GCPCLASS_PREBOUNDLTR = (128), - GCPCLASS_PREBOUNDRTL = (64), - GCPCLASS_POSTBOUNDLTR = (32), - GCPCLASS_POSTBOUNDRTL = (16), - GCPGLYPH_LINKBEFORE = (32768), - GCPGLYPH_LINKAFTER = (16384), - TT_AVAILABLE = (1), - TT_ENABLED = (2), - CA_NEGATIVE = (1), - CA_LOG_FILTER = (2), - ILLUMINANT_DEVICE_DEFAULT = (0), - ILLUMINANT_A = (1), - ILLUMINANT_B = (2), - ILLUMINANT_C = (3), - ILLUMINANT_D50 = (4), - ILLUMINANT_D55 = (5), - ILLUMINANT_D65 = (6), - ILLUMINANT_D75 = (7), - ILLUMINANT_F2 = (8), - ILLUMINANT_TUNGSTEN = (1), - ILLUMINANT_DAYLIGHT = (3), - ILLUMINANT_FLUORESCENT = (8), - ILLUMINANT_NTSC = (3), - DI_APPBANDING = (1), - EMR_HEADER = (1), - ENHMETA_SIGNATURE = (1179469088), - ENM_CHANGE = (1), - ENM_CORRECTTEXT = (4194304), - ENM_DROPFILES = (1048576), - ENM_KEYEVENTS = (65536), - ENM_MOUSEEVENTS = (131072), - ENM_PROTECTED = (2097152), - ENM_REQUESTRESIZE = (262144), - ENM_SCROLL = (4), - ENM_SELCHANGE = (524288), - ENM_UPDATE = (2), - ENM_NONE = (0), - ES_DISABLENOSCROLL = (8192), - ES_EX_NOCALLOLEINIT = (16777216), - ES_NOIME = (524288), - ES_SAVESEL = (32768), - ES_SELFIME = (262144), - ES_SUNKEN = (16384), - ES_VERTICAL = (4194304), - ES_SELECTIONBAR = (16777216), - ECOOP_SET = (1), - ECOOP_OR = (2), - ECOOP_AND = (3), - ECOOP_XOR = (4), - ECO_AUTOWORDSELECTION = (1), - ECO_AUTOVSCROLL = (64), - ECO_AUTOHSCROLL = (128), - ECO_NOHIDESEL = (256), - ECO_READONLY = (2048), - ECO_WANTRETURN = (4096), - ECO_SAVESEL = (32768), - ECO_SELECTIONBAR = (16777216), - ECO_VERTICAL = (4194304), - SCF_WORD = (2), - SCF_SELECTION = (1), - SF_TEXT = (1), - SF_RTF = (2), - SF_RTFNOOBJS = (3), - SF_TEXTIZED = (4), - SFF_SELECTION = (32768), - SFF_PLAINRTF = (16384), - WB_CLASSIFY = (3), - WB_LEFTBREAK = (6), - WB_PREVBREAK = (6), - WB_MOVEWORDLEFT = (4), - WB_MOVEWORDPREV = (4), - WB_MOVEWORDRIGHT = (5), - WB_MOVEWORDNEXT = (5), - WB_RIGHTBREAK = (7), - WB_NEXTBREAK = (7), - PC_LEADING = (2), - PC_FOLLOWING = (1), - PC_DELIMITER = (4), - PC_OVERFLOW = (3), - WBF_WORDWRAP = (16), - WBF_WORDBREAK = (32), - WBF_OVERFLOW = (64), - WBF_LEVEL1 = (128), - WBF_LEVEL2 = (256), - WBF_CUSTOM = (512), - WBF_BREAKAFTER = (64), - WBF_BREAKLINE = (32), - WBF_ISWHITE = (16), - CFM_BOLD = (1), - CFM_COLOR = (1073741824), - CFM_FACE = (536870912), - CFM_ITALIC = (2), - CFM_OFFSET = (268435456), - CFM_PROTECTED = (16), - CFM_SIZE = (0x80000000), - CFM_STRIKEOUT = (8), - CFM_UNDERLINE = (4), - CFE_AUTOCOLOR = (1073741824), - CFE_BOLD = (1), - CFE_ITALIC = (2), - CFE_STRIKEOUT = (8), - CFE_UNDERLINE = (4), - CFE_PROTECTED = (16), - PFM_ALIGNMENT = (8), - PFM_NUMBERING = (32), - PFM_OFFSET = (4), - PFM_OFFSETINDENT = (0x80000000), - PFM_RIGHTINDENT = (2), - PFM_STARTINDENT = (1), - PFM_TABSTOPS = (16), - PFN_BULLET = (1), - PFA_LEFT = (1), - PFA_RIGHT = (2), - PFA_CENTER = (3), - SEL_EMPTY = (0), - SEL_TEXT = (1), - SEL_OBJECT = (2), - SEL_MULTICHAR = (4), - SEL_MULTIOBJECT = (8), -} -const { -char* CF_RTF = ("Rich Text Format"); -char* CF_RETEXTOBJ = ("RichEdit Text and Objects"); -} -enum : DWORD { - ODT_BUTTON = (4), - ODT_COMBOBOX = (3), - ODT_LISTBOX = (2), - ODT_LISTVIEW = (102), - ODT_MENU = (1), - ODT_STATIC = (5), - ODT_TAB = (101), - ODT_HEADER = (100), - ODA_DRAWENTIRE = (1), - ODA_FOCUS = (4), - ODA_SELECT = (2), - ODS_CHECKED = (8), - ODS_COMBOBOXEDIT = (4096), - ODS_DEFAULT = (32), - ODS_DISABLED = (4), - ODS_FOCUS = (16), - ODS_GRAYED = (2), - ODS_SELECTED = (1), -} -const { -char* ANIMATE_CLASSW = ("SysAnimate32"); -char* HOTKEY_CLASSW = ("msctls_hotkey32"); -char* PROGRESS_CLASSW = ("msctls_progress32"); -char* STATUSCLASSNAMEW = ("msctls_statusbar32"); -char* TOOLBARCLASSNAMEW = ("ToolbarWindow32"); -char* TOOLTIPS_CLASSW = ("tooltips_class32"); -char* TRACKBAR_CLASSW = ("msctls_trackbar32"); -char* UPDOWN_CLASSW = ("msctls_updown32"); -char* WC_HEADERW = ("SysHeader32"); -char* WC_LISTVIEWW = ("SysListView32"); -char* WC_TABCONTROLW = ("SysTabControl32"); -char* WC_TREEVIEWW = ("SysTreeView32"); -} -enum : DWORD { - CCS_ADJUSTABLE = (0x20), - CCS_BOTTOM = (0x3), - CCS_NODIVIDER = (0x40), - CCS_NOMOVEY = (0x2), - CCS_NOPARENTALIGN = (0x8), - CCS_NORESIZE = (0x4), - CCS_TOP = (0x1), -} -const { -char* ANIMATE_CLASSA = ("SysAnimate32"); -char* HOTKEY_CLASSA = ("msctls_hotkey32"); -char* PROGRESS_CLASSA = ("msctls_progress32"); -char* STATUSCLASSNAMEA = ("msctls_statusbar32"); -char* TOOLBARCLASSNAMEA = ("ToolbarWindow32"); -char* TOOLTIPS_CLASSA = ("tooltips_class32"); -char* TRACKBAR_CLASSA = ("msctls_trackbar32"); -char* UPDOWN_CLASSA = ("msctls_updown32"); -char* WC_HEADERA = ("SysHeader32"); -char* WC_LISTVIEWA = ("SysListView32"); -char* WC_TABCONTROLA = ("SysTabControl32"); -char* WC_TREEVIEWA = ("SysTreeView32"); -char* ANIMATE_CLASS = (ANIMATE_CLASSA); -char* HOTKEY_CLASS = (HOTKEY_CLASSA); -char* PROGRESS_CLASS = (PROGRESS_CLASSA); -char* STATUSCLASSNAME = (STATUSCLASSNAMEA); -char* TOOLBARCLASSNAME = (TOOLBARCLASSNAMEA); -char* TOOLTIPS_CLASS = (TOOLTIPS_CLASSA); -char* TRACKBAR_CLASS = (TRACKBAR_CLASSA); -char* UPDOWN_CLASS = (UPDOWN_CLASSA); -char* WC_HEADER = (WC_HEADERA); -char* WC_LISTVIEW = (WC_LISTVIEWA); -char* WC_TABCONTROL = (WC_TABCONTROLA); -char* WC_TREEVIEW = (WC_TREEVIEWA); -} -enum : DWORD { - HDS_BUTTONS = (2), - HDS_HIDDEN = (8), - HDS_HORZ = (0), - HDI_BITMAP = (16), - HDI_FORMAT = (4), - HDI_HEIGHT = (1), - HDI_LPARAM = (8), - HDI_TEXT = (2), - HDI_WIDTH = (1), - HDF_CENTER = (2), - HDF_LEFT = (0), - HDF_RIGHT = (1), - HDF_RTLREADING = (4), - HDF_BITMAP = (8192), - HDF_OWNERDRAW = (32768), - HDF_STRING = (16384), - HDF_JUSTIFYMASK = (3), - HHT_NOWHERE = (1), - HHT_ONDIVIDER = (4), - HHT_ONDIVOPEN = (8), - HHT_ONHEADER = (2), - HHT_TOLEFT = (2048), - HHT_TORIGHT = (1024), - HINST_COMMCTRL = -(1), - IDB_STD_LARGE_COLOR = (1), - IDB_STD_SMALL_COLOR = (0), - IDB_VIEW_LARGE_COLOR = (5), - IDB_VIEW_SMALL_COLOR = (4), - STD_COPY = (1), - STD_CUT = (0), - STD_DELETE = (5), - STD_FILENEW = (6), - STD_FILEOPEN = (7), - STD_FILESAVE = (8), - STD_FIND = (12), - STD_HELP = (11), - STD_PASTE = (2), - STD_PRINT = (14), - STD_PRINTPRE = (9), - STD_PROPERTIES = (10), - STD_REDOW = (4), - STD_REPLACE = (13), - STD_UNDO = (3), - VIEW_LARGEICONS = (0), - VIEW_SMALLICONS = (1), - VIEW_LIST = (2), - VIEW_DETAILS = (3), - VIEW_SORTNAME = (4), - VIEW_SORTSIZE = (5), - VIEW_SORTDATE = (6), - VIEW_SORTTYPE = (7), - TBSTYLE_ALTDRAG = (1024), - TBSTYLE_TOOLTIPS = (256), - TBSTYLE_WRAPABLE = (512), - TBSTYLE_BUTTON = (0), - TBSTYLE_CHECK = (2), - TBSTYLE_CHECKGROUP = (6), - TBSTYLE_GROUP = (4), - TBSTYLE_SEP = (1), - TBSTATE_CHECKED = (1), - TBSTATE_ENABLED = (4), - TBSTATE_HIDDEN = (8), - TBSTATE_INDETERMINATE = (16), - TBSTATE_PRESSED = (2), - TBSTATE_WRAP = (32), - TTS_ALWAYSTIP = (1), - TTS_NOPREFIX = (2), - TTF_IDISHWND = (1), - TTF_CENTERTIP = (2), - TTF_RTLREADING = (4), - TTF_SUBCLASS = (16), - TTDT_AUTOMATIC = (0), - TTDT_AUTOPOP = (2), - TTDT_INITIAL = (3), - TTDT_RESHOW = (1), - SBARS_SIZEGRIP = (256), - DL_MOVECURSOR = (3), - DL_COPYCURSOR = (2), - DL_STOPCURSOR = (1), - UDS_ALIGNLEFT = (8), - UDS_ALIGNRIGHT = (4), - UDS_ARROWKEYS = (32), - UDS_AUTOBUDDY = (16), - UDS_HORZ = (64), - UDS_NOTHOUSANDS = (128), - UDS_SETBUDDYINT = (2), - UDS_WRAP = (1), - UD_MAXVAL = (32767), - UD_MINVAL = -((32767)), - HOTKEYF_ALT = (4), - HOTKEYF_CONTROL = (2), - HOTKEYF_EXT = (8), - HOTKEYF_SHIFT = (1), - HKCOMB_A = (8), - HKCOMB_C = (4), - HKCOMB_CA = (64), - HKCOMB_NONE = (1), - HKCOMB_S = (2), - HKCOMB_SA = (32), - HKCOMB_SC = (16), - HKCOMB_SCA = (128), - TBS_HORZ = (0), - TBS_VERT = (2), - TBS_AUTOTICKS = (1), - TBS_NOTICKS = (16), - TBS_TOP = (4), - TBS_BOTTOM = (0), - TBS_LEFT = (4), - TBS_RIGHT = (0), - TBS_BOTH = (8), - TBS_ENABLESELRANGE = (32), - TBS_FIXEDLENGTH = (64), - TBS_NOTHUMB = (128), - TB_BOTTOM = (7), - TB_ENDTRACK = (8), - TB_LINEDOWN = (1), - TB_LINEUP = (0), - TB_PAGEDOWN = (3), - TB_PAGEUP = (2), - TB_THUMBPOSITION = (4), - TB_THUMBTRACK = (5), - TB_TOP = (6), - LVS_ALIGNLEFT = (2048), - LVS_ALIGNTOP = (0), - LVS_AUTOARRANGE = (256), - LVS_EDITLABELS = (512), - LVS_ICON = (0), - LVS_LIST = (3), - LVS_NOCOLUMNHEADER = (16384), - LVS_NOLABELWRAP = (128), - LVS_NOSCROLL = (8192), - LVS_NOSORTHEADER = (32768), - LVS_OWNERDRAWFIXED = (1024), - LVS_REPORT = (1), - LVS_SHAREIMAGELISTS = (64), - LVS_SHOWSELALWAYS = (8), - LVS_SINGLESEL = (4), - LVS_SMALLICON = (2), - LVS_SORTASCENDING = (16), - LVS_SORTDESCENDING = (32), - LVS_TYPESTYLEMASK = (64512), - LVSIL_NORMAL = (0), - LVSIL_SMALL = (1), - LVSIL_STATE = (2), - LVIS_CUT = (4), - LVIS_DROPHILITED = (8), - LVIS_FOCUSED = (1), - LVIS_SELECTED = (2), - LVIS_OVERLAYMASK = (3840), - LVIS_STATEIMAGEMASK = (61440), -} -const { - LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR)(-(1)); - LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR)(-(1)); - version(Win32SansUnicode){ - alias LPSTR_TEXTCALLBACKA LPSTR_TEXTCALLBACK; - } - else{ - alias LPSTR_TEXTCALLBACKW LPSTR_TEXTCALLBACK; - } -} -enum : DWORD { - LVIF_TEXT = (1), - LVIF_IMAGE = (2), - LVIF_PARAM = (4), - LVIF_STATE = (8), - LVIF_DI_SETITEM = (4096), - LVNI_ABOVE = (256), - LVNI_ALL = (0), - LVNI_BELOW = (512), - LVNI_TOLEFT = (1024), - LVNI_TORIGHT = (2048), - LVNI_CUT = (4), - LVNI_DROPHILITED = (8), - LVNI_FOCUSED = (1), - LVNI_SELECTED = (2), - LVFI_PARAM = (1), - LVFI_PARTIAL = (8), - LVFI_STRING = (2), - LVFI_WRAP = (32), - LVFI_NEARESTXY = (64), - LVHT_ABOVE = (8), - LVHT_BELOW = (16), - LVHT_NOWHERE = (1), - LVHT_ONITEMICON = (2), - LVHT_ONITEMLABEL = (4), - LVHT_ONITEMSTATEICON = (8), - LVHT_TOLEFT = (64), - LVHT_TORIGHT = (32), - LVCF_FMT = (1), - LVCF_SUBITEM = (8), - LVCF_TEXT = (4), - LVCF_WIDTH = (2), - LVCFMT_CENTER = (2), - LVCFMT_LEFT = (0), - LVCFMT_RIGHT = (1), - LVIR_BOUNDS = (0), - LVIR_ICON = (1), - LVIR_LABEL = (2), - LVIR_SELECTBOUNDS = (3), - LVA_ALIGNLEFT = (1), - LVA_ALIGNTOP = (2), - LVA_DEFAULT = (0), - LVA_SNAPTOGRID = (5), - LVSCW_AUTOSIZE = -((1)), - LVSCW_AUTOSIZE_USEHEADER = -((2)), - TVS_DISABLEDRAGDROP = (16), - TVS_EDITLABELS = (8), - TVS_HASBUTTONS = (1), - TVS_HASLINES = (2), - TVS_LINESATROOT = (4), - TVS_SHOWSELALWAYS = (32), - TVIS_BOLD = (16), - TVIS_CUT = (4), - TVIS_DROPHILITED = (8), - TVIS_EXPANDED = (32), - TVIS_EXPANDEDONCE = (64), - TVIS_FOCUSED = (1), - TVIS_OVERLAYMASK = (3840), - TVIS_SELECTED = (2), - TVIS_STATEIMAGEMASK = (61440), - TVIS_USERMASK = (61440), - TVIF_CHILDREN = (64), - TVIF_HANDLE = (16), - TVIF_IMAGE = (2), - TVIF_PARAM = (4), - TVIF_SELECTEDIMAGE = (32), - TVIF_STATE = (8), - TVIF_TEXT = (1), - I_CHILDRENCALLBACK = -((1)), - I_IMAGECALLBACK = -((1)), -} - -struct TREEITEM -{ -} - -alias TREEITEM* HTREEITEM; -alias TREEITEM TTREEITEM; -alias TREEITEM* PTREEITEM; -enum : DWORD { - TVI_ROOT = (0xFFFF0000), - TVI_FIRST = (0xFFFF0001), - TVI_LAST = (0xFFFF0002), - TVI_SORT = (0xFFFF0003), - TVHT_ABOVE = (256), - TVHT_BELOW = (512), - TVHT_NOWHERE = (1), - TVHT_ONITEM = (70), - TVHT_ONITEMBUTTON = (16), - TVHT_ONITEMICON = (2), - TVHT_ONITEMINDENT = (8), - TVHT_ONITEMLABEL = (4), - TVHT_ONITEMRIGHT = (32), - TVHT_ONITEMSTATEICON = (64), - TVHT_TOLEFT = (2048), - TVHT_TORIGHT = (1024), - TVE_COLLAPSE = (1), - TVE_COLLAPSERESET = (32768), - TVE_EXPAND = (2), - TVE_TOGGLE = (3), - TVSIL_NORMAL = (0), - TVSIL_STATE = (2), - TVGN_CARET = (9), - TVGN_CHILD = (4), - TVGN_DROPHILITE = (8), - TVGN_FIRSTVISIBLE = (5), - TVGN_NEXT = (1), - TVGN_NEXTVISIBLE = (6), - TVGN_PARENT = (3), - TVGN_PREVIOUS = (2), - TVGN_PREVIOUSVISIBLE = (7), - TVGN_ROOT = (0), - TVC_BYKEYBOARD = (2), - TVC_BYMOUSE = (1), - TVC_UNKNOWN = (0), - TCS_BUTTONS = (256), - TCS_FIXEDWIDTH = (1024), - TCS_FOCUSNEVER = (32768), - TCS_FOCUSONBUTTONDOWN = (4096), - TCS_FORCEICONLEFT = (16), - TCS_FORCELABELLEFT = (32), - TCS_MULTILINE = (512), - TCS_OWNERDRAWFIXED = (8192), - TCS_RAGGEDRIGHT = (2048), - TCS_RIGHTJUSTIFY = (0), - TCS_SINGLELINE = (0), - TCS_TABS = (0), - TCS_TOOLTIPS = (16384), - TCIF_TEXT = (1), - TCIF_IMAGE = (2), - TCIF_PARAM = (8), - TCIF_RTLREADING = (4), - TCHT_NOWHERE = (1), - TCHT_ONITEM = (6), - TCHT_ONITEMICON = (2), - TCHT_ONITEMLABEL = (4), - ACS_AUTOPLAY = (4), - ACS_CENTER = (1), - ACS_TRANSPARENT = (2), - DIALOPTION_BILLING = (64), - DIALOPTION_QUIET = (128), - DIALOPTION_DIALTONE = (256), - MDMVOLFLAG_LOW = (1), - MDMVOLFLAG_MEDIUM = (2), - MDMVOLFLAG_HIGH = (4), - MDMVOL_LOW = (0), - MDMVOL_MEDIUM = (1), - MDMVOL_HIGH = (2), - MDMSPKRFLAG_OFF = (1), - MDMSPKRFLAG_DIAL = (2), - MDMSPKRFLAG_ON = (4), - MDMSPKRFLAG_CALLSETUP = (8), - MDMSPKR_OFF = (0), - MDMSPKR_DIAL = (1), - MDMSPKR_ON = (2), - MDMSPKR_CALLSETUP = (3), - MDM_BLIND_DIAL = (512), - MDM_CCITT_OVERRIDE = (64), - MDM_CELLULAR = (8), - MDM_COMPRESSION = (1), - MDM_ERROR_CONTROL = (2), - MDM_FLOWCONTROL_HARD = (16), - MDM_FLOWCONTROL_SOFT = (32), - MDM_FORCED_EC = (4), - MDM_SPEED_ADJUST = (128), - MDM_TONE_DIAL = (256), - MDM_V23_OVERRIDE = (1024), - LANG_BULGARIAN = (2), - LANG_CHINESE = (4), - LANG_CROATIAN = (26), - LANG_CZECH = (5), - LANG_DANISH = (6), - LANG_DUTCH = (19), - LANG_ENGLISH = (9), - LANG_FINNISH = (11), - LANG_FRENCH = (12), - LANG_GERMAN = (7), - LANG_GREEK = (8), - LANG_HUNGARIAN = (14), - LANG_ICELANDIC = (15), - LANG_ITALIAN = (16), - LANG_JAPANESE = (17), - LANG_KOREAN = (18), - LANG_NEUTRAL = (0), - LANG_NORWEGIAN = (20), - LANG_POLISH = (21), - LANG_PORTUGUESE = (22), - LANG_ROMANIAN = (24), - LANG_RUSSIAN = (25), - LANG_SLOVAK = (27), - LANG_SLOVENIAN = (36), - LANG_SPANISH = (10), - LANG_SWEDISH = (29), - LANG_TURKISH = (31), - SUBLANG_CHINESE_SIMPLIFIED = (2), - SUBLANG_CHINESE_TRADITIONAL = (1), - SUBLANG_CHINESE_HONGKONG = (3), - SUBLANG_CHINESE_SINGAPORE = (4), - SUBLANG_DEFAULT = (1), - SUBLANG_DUTCH = (1), - SUBLANG_DUTCH_BELGIAN = (2), - SUBLANG_ENGLISH_AUS = (3), - SUBLANG_ENGLISH_CAN = (4), - SUBLANG_ENGLISH_EIRE = (6), - SUBLANG_ENGLISH_NZ = (5), - SUBLANG_ENGLISH_UK = (2), - SUBLANG_ENGLISH_US = (1), - SUBLANG_FRENCH = (1), - SUBLANG_FRENCH_BELGIAN = (2), - SUBLANG_FRENCH_CANADIAN = (3), - SUBLANG_FRENCH_SWISS = (4), - SUBLANG_GERMAN = (1), - SUBLANG_GERMAN_AUSTRIAN = (3), - SUBLANG_GERMAN_SWISS = (2), - SUBLANG_ITALIAN = (1), - SUBLANG_ITALIAN_SWISS = (2), - SUBLANG_NEUTRAL = (0), - SUBLANG_NORWEGIAN_BOKMAL = (1), - SUBLANG_NORWEGIAN_NYNORSK = (2), - SUBLANG_PORTUGUESE = (2), - SUBLANG_PORTUGUESE_BRAZILIAN = (1), - SUBLANG_SPANISH = (1), - SUBLANG_SPANISH_MEXICAN = (2), - SUBLANG_SPANISH_MODERN = (3), - SUBLANG_SYS_DEFAULT = (2), - NLS_VALID_LOCALE_MASK = (1048575), - SORT_DEFAULT = (0), - SORT_JAPANESE_XJIS = (0), - SORT_JAPANESE_UNICODE = (1), - SORT_CHINESE_BIG5 = (0), - SORT_CHINESE_UNICODE = (1), - SORT_KOREAN_KSC = (0), - SORT_KOREAN_UNICODE = (1), - PROCESSOR_INTEL_386 = (386), - PROCESSOR_INTEL_486 = (486), - PROCESSOR_INTEL_PENTIUM = (586), - PROCESSOR_MIPS_R4000 = (4000), - PROCESSOR_ALPHA_21064 = (21064), - COMPRESSION_FORMAT_NONE = (0), - COMPRESSION_FORMAT_DEFAULT = (1), - COMPRESSION_FORMAT_LZNT1 = (2), - TAPE_DRIVE_COMPRESSION = (131072), - TAPE_DRIVE_ECC = (65536), - TAPE_DRIVE_ERASE_BOP_ONLY = (64), - TAPE_DRIVE_ERASE_LONG = (32), - TAPE_DRIVE_ERASE_IMMEDIATE = (128), - TAPE_DRIVE_ERASE_SHORT = (16), - TAPE_DRIVE_FIXED = (1), - TAPE_DRIVE_FIXED_BLOCK = (1024), - TAPE_DRIVE_INITIATOR = (4), - TAPE_DRIVE_PADDING = (262144), - TAPE_DRIVE_GET_ABSOLUTE_BLK = (1048576), - TAPE_DRIVE_GET_LOGICAL_BLK = (2097152), - TAPE_DRIVE_REPORT_SMKS = (524288), - TAPE_DRIVE_SELECT = (2), - TAPE_DRIVE_SET_EOT_WZ_SIZE = (4194304), - TAPE_DRIVE_TAPE_CAPACITY = (256), - TAPE_DRIVE_TAPE_REMAINING = (512), - TAPE_DRIVE_VARIABLE_BLOCK = (2048), - TAPE_DRIVE_WRITE_PROTECT = (4096), - TAPE_DRIVE_ABS_BLK_IMMED = -((2147475456)), - TAPE_DRIVE_ABSOLUTE_BLK = -((2147479552)), - TAPE_DRIVE_END_OF_DATA = -((2147418112)), - TAPE_DRIVE_FILEMARKS = -((2147221504)), - TAPE_DRIVE_LOAD_UNLOAD = -((2147483647)), - TAPE_DRIVE_LOAD_UNLD_IMMED = -((2147483616)), - TAPE_DRIVE_LOCK_UNLOCK = -((2147483644)), - TAPE_DRIVE_LOCK_UNLK_IMMED = -((2147483520)), - TAPE_DRIVE_LOG_BLK_IMMED = -((2147450880)), - TAPE_DRIVE_LOGICAL_BLK = -((2147467264)), - TAPE_DRIVE_RELATIVE_BLKS = -((2147352576)), - TAPE_DRIVE_REVERSE_POSITION = -((2143289344)), - TAPE_DRIVE_REWIND_IMMEDIATE = -((2147483640)), - TAPE_DRIVE_SEQUENTIAL_FMKS = -((2146959360)), - TAPE_DRIVE_SEQUENTIAL_SMKS = -((2145386496)), - TAPE_DRIVE_SET_BLOCK_SIZE = -((2147483632)), - TAPE_DRIVE_SET_COMPRESSION = -((2147483136)), - TAPE_DRIVE_SET_ECC = -((2147483392)), - TAPE_DRIVE_SET_PADDING = -((2147482624)), - TAPE_DRIVE_SET_REPORT_SMKS = -((2147481600)), - TAPE_DRIVE_SETMARKS = -((2146435072)), - TAPE_DRIVE_SPACE_IMMEDIATE = -((2139095040)), - TAPE_DRIVE_TENSION = -((2147483646)), - TAPE_DRIVE_TENSION_IMMED = -((2147483584)), - TAPE_DRIVE_WRITE_FILEMARKS = -((2113929216)), - TAPE_DRIVE_WRITE_LONG_FMKS = -((2013265920)), - TAPE_DRIVE_WRITE_MARK_IMMED = -((1879048192)), - TAPE_DRIVE_WRITE_SETMARKS = -((2130706432)), - TAPE_DRIVE_WRITE_SHORT_FMKS = -((2080374784)), - STANDARD_RIGHTS_REQUIRED = (0xf0000), - STANDARD_RIGHTS_WRITE = (0x20000), - STANDARD_RIGHTS_READ = (0x20000), - STANDARD_RIGHTS_EXECUTE = (0x20000), - STANDARD_RIGHTS_ALL = (0x1f0000), - SPECIFIC_RIGHTS_ALL = (0xffff), - MAXIMUM_ALLOWED = (0x2000000), - GENERIC_ALL = (0x10000000), - SECURITY_NULL_RID = (0), - SECURITY_WORLD_RID = (0), - SECURITY_LOCAL_RID = (0), - SECURITY_CREATOR_OWNER_RID = (0), - SECURITY_CREATOR_GROUP_RID = (0x1), - SECURITY_DIALUP_RID = (0x1), - SECURITY_NETWORK_RID = (0x2), - SECURITY_BATCH_RID = (0x3), - SECURITY_INTERACTIVE_RID = (0x4), - SECURITY_LOGON_IDS_RID = (0x5), - SECURITY_LOGON_IDS_RID_COUNT = (0x3), - SECURITY_SERVICE_RID = (0x6), - SECURITY_LOCAL_SYSTEM_RID = (0x12), - SECURITY_BUILTIN_DOMAIN_RID = (0x20), - DOMAIN_USER_RID_ADMIN = (0x1f4), - DOMAIN_USER_RID_GUEST = (0x1f5), - DOMAIN_GROUP_RID_ADMINS = (0x200), - DOMAIN_GROUP_RID_USERS = (0x201), - DOMAIN_ALIAS_RID_ADMINS = (0x220), - DOMAIN_ALIAS_RID_USERS = (0x221), - DOMAIN_ALIAS_RID_GUESTS = (0x222), - DOMAIN_ALIAS_RID_POWER_USERS = (0x223), - DOMAIN_ALIAS_RID_ACCOUNT_OPS = (0x224), - DOMAIN_ALIAS_RID_SYSTEM_OPS = (0x225), - DOMAIN_ALIAS_RID_PRINT_OPS = (0x226), - DOMAIN_ALIAS_RID_BACKUP_OPS = (0x227), - DOMAIN_ALIAS_RID_REPLICATOR = (0x228), - SE_GROUP_MANDATORY = (0x1), - SE_GROUP_ENABLED_BY_DEFAULT = (0x2), - SE_GROUP_ENABLED = (0x4), - SE_GROUP_OWNER = (0x8), - SE_GROUP_LOGON_ID = (0xc0000000), - ACL_REVISION = (2), - ACCESS_ALLOWED_ACE_TYPE = (0x0), - ACCESS_DENIED_ACE_TYPE = (0x1), - SYSTEM_AUDIT_ACE_TYPE = (0x2), - SYSTEM_ALARM_ACE_TYPE = (0x3), - OBJECT_INHERIT_ACE = (0x1), - CONTAINER_INHERIT_ACE = (0x2), - NO_PROPAGATE_INHERIT_ACE = (0x4), - INHERIT_ONLY_ACE = (0x8), - SUCCESSFUL_ACCESS_ACE_FLAG = (0x40), - FAILED_ACCESS_ACE_FLAG = (0x80), - SECURITY_DESCRIPTOR_MIN_LENGTH = (20), - SE_OWNER_DEFAULTED = (1), - SE_GROUP_DEFAULTED = (2), - SE_DACL_PRESENT = (4), - SE_DACL_DEFAULTED = (8), - SE_SACL_PRESENT = (16), - SE_SACL_DEFAULTED = (32), - SE_SELF_RELATIVE = (32768), - SE_PRIVILEGE_ENABLED_BY_DEFAULT = (0x1), - SE_PRIVILEGE_ENABLED = (0x2), - SE_PRIVILEGE_USED_FOR_ACCESS = (0x80000000), - PRIVILEGE_SET_ALL_NECESSARY = (0x1), - OFN_ALLOWMULTISELECT = (0x200), - OFN_CREATEPROMPT = (0x2000), - OFN_ENABLEHOOK = (0x20), - OFN_ENABLETEMPLATE = (0x40), - OFN_ENABLETEMPLATEHANDLE = (0x80), - OFN_EXPLORER = (0x80000), - OFN_EXTENSIONDIFFERENT = (0x400), - OFN_FILEMUSTEXIST = (0x1000), - OFN_HIDEREADONLY = (0x4), - OFN_LONGNAMES = (0x200000), - OFN_NOCHANGEDIR = (0x8), - OFN_NODEREFERENCELINKS = (0x100000), - OFN_NOLONGNAMES = (0x40000), - OFN_NONETWORKBUTTON = (0x20000), - OFN_NOREADONLYRETURN = (0x8000), - OFN_NOTESTFILECREATE = (0x10000), - OFN_NOVALIDATE = (0x100), - OFN_OVERWRITEPROMPT = (0x2), - OFN_PATHMUSTEXIST = (0x800), - OFN_READONLY = (0x1), - OFN_SHAREAWARE = (0x4000), - OFN_SHOWHELP = (0x10), - OFN_SHAREFALLTHROUGH = (0x2), - OFN_SHARENOWARN = (0x1), - OFN_SHAREWARN = (0), - CDN_INITDONE = (0xfffffda7), - CDN_SELCHANGE = (0xfffffda6), - CDN_FOLDERCHANGE = (0xfffffda5), - CDN_SHAREVIOLATION = (0xfffffda4), - CDN_HELP = (0xfffffda3), - CDN_FILEOK = (0xfffffda2), - CDN_TYPECHANGE = (0xfffffda1), - CDM_GETFILEPATH = (0x465), - CDM_GETFOLDERIDLIST = (0x467), - CDM_GETFOLDERPATH = (0x466), - CDM_GETSPEC = (0x464), - CDM_HIDECONTROL = (0x469), - CDM_SETCONTROLTEXT = (0x468), - CDM_SETDEFEXT = (0x46a), - CC_ENABLEHOOK = (0x10), - CC_ENABLETEMPLATE = (0x20), - CC_ENABLETEMPLATEHANDLE = (0x40), - CC_FULLOPEN = (0x2), - CC_PREVENTFULLOPEN = (0x4), - CC_RGBINIT = (0x1), - CC_SHOWHELP = (0x8), - CC_SOLIDCOLOR = (0x80), - FR_DIALOGTERM = (0x40), - FR_DOWN = (0x1), - FR_ENABLEHOOK = (0x100), - FR_ENABLETEMPLATE = (0x200), - FR_ENABLETEMPLATEHANDLE = (0x2000), - FR_FINDNEXT = (0x8), - FR_HIDEUPDOWN = (0x4000), - FR_HIDEMATCHCASE = (0x8000), - FR_HIDEWHOLEWORD = (0x10000), - FR_MATCHCASE = (0x4), - FR_NOMATCHCASE = (0x800), - FR_NOUPDOWN = (0x400), - FR_NOWHOLEWORD = (0x1000), - FR_REPLACE = (0x10), - FR_REPLACEALL = (0x20), - FR_SHOWHELP = (0x80), - FR_WHOLEWORD = (0x2), - CF_APPLY = (0x200), - CF_ANSIONLY = (0x400), - CF_BOTH = (0x3), - CF_TTONLY = (0x40000), - CF_EFFECTS = (0x100), - CF_ENABLEHOOK = (0x8), - CF_ENABLETEMPLATE = (0x10), - CF_ENABLETEMPLATEHANDLE = (0x20), - CF_FIXEDPITCHONLY = (0x4000), - CF_FORCEFONTEXIST = (0x10000), - CF_INITTOLOGFONTSTRUCT = (0x40), - CF_LIMITSIZE = (0x2000), - CF_NOOEMFONTS = (0x800), - CF_NOFACESEL = (0x80000), - CF_NOSCRIPTSEL = (0x800000), - CF_NOSTYLESEL = (0x100000), - CF_NOSIZESEL = (0x200000), - CF_NOSIMULATIONS = (0x1000), - CF_NOVECTORFONTS = (0x800), - CF_NOVERTFONTS = (0x1000000), - CF_PRINTERFONTS = (0x2), - CF_SCALABLEONLY = (0x20000), - CF_SCREENFONTS = (0x1), - CF_SCRIPTSONLY = (0x400), - CF_SELECTSCRIPT = (0x400000), - CF_SHOWHELP = (0x4), - CF_USESTYLE = (0x80), - CF_WYSIWYG = (0x8000), - BOLD_FONTTYPE = (0x100), - ITALIC_FONTTYPE = (0x200), - PRINTER_FONTTYPE = (0x4000), - REGULAR_FONTTYPE = (0x400), - SCREEN_FONTTYPE = (0x2000), - SIMULATED_FONTTYPE = (0x8000), -} -const { -char* COLOROKSTRINGW = ("commdlg_ColorOK"); -char* FILEOKSTRINGW = ("commdlg_FileNameOK"); -char* FINDMSGSTRINGW = ("commdlg_FindReplace"); -char* HELPMSGSTRINGW = ("commdlg_help"); -char* LBSELCHSTRINGW = ("commdlg_LBSelChangedNotify"); -char* SETRGBSTRINGW = ("commdlg_SetRGBColor"); -char* SHAREVISTRINGW = ("commdlg_ShareViolation"); -char* COLOROKSTRINGA = ("commdlg_ColorOK"); -char* FILEOKSTRINGA = ("commdlg_FileNameOK"); -char* FINDMSGSTRINGA = ("commdlg_FindReplace"); -char* HELPMSGSTRINGA = ("commdlg_help"); -char* LBSELCHSTRINGA = ("commdlg_LBSelChangedNotify"); -char* SETRGBSTRINGA = ("commdlg_SetRGBColor"); -char* SHAREVISTRINGA = ("commdlg_ShareViolation"); -char* COLOROKSTRING = (COLOROKSTRINGA); -char* FILEOKSTRING = (FILEOKSTRINGA); -char* FINDMSGSTRING = (FINDMSGSTRINGA); -char* HELPMSGSTRING = (HELPMSGSTRINGA); -char* LBSELCHSTRING = (LBSELCHSTRINGA); -char* SETRGBSTRING = (SETRGBSTRINGA); -char* SHAREVISTRING = (SHAREVISTRINGA); -} - -const { -HWND HWND_DESKTOP = cast(HWND) 0; -HWND HWND_BOTTOM = cast(HWND) 1; -HWND HWND_NOTOPMOST = cast(HWND) -2; -HWND HWND_TOP = cast(HWND) 0; -HWND HWND_TOPMOST = cast(HWND) -1; -HWND HWND_BROADCAST = cast(HWND) 0xFFFF; -} - -enum : DWORD { - CD_LBSELCHANGE = (0), - CD_LBSELADD = (2), - CD_LBSELSUB = (1), - CD_LBSELNOITEMS = -((1)), - DN_DEFAULTPRN = (1), - PD_ALLPAGES = (0), - PD_COLLATE = (16), - PD_DISABLEPRINTTOFILE = (524288), - PD_ENABLEPRINTHOOK = (4096), - PD_ENABLEPRINTTEMPLATE = (16384), - PD_ENABLEPRINTTEMPLATEHANDLE = (65536), - PD_ENABLESETUPHOOK = (8192), - PD_ENABLESETUPTEMPLATE = (32768), - PD_ENABLESETUPTEMPLATEHANDLE = (131072), - PD_HIDEPRINTTOFILE = (1048576), - PD_NOPAGENUMS = (8), - PD_NOSELECTION = (4), - PD_NOWARNING = (128), - PD_PAGENUMS = (2), - PD_PRINTSETUP = (64), - PD_PRINTTOFILE = (32), - PD_RETURNDC = (256), - PD_RETURNDEFAULT = (1024), - PD_RETURNIC = (512), - PD_SELECTION = (1), - PD_SHOWHELP = (2048), - PD_USEDEVMODECOPIES = (262144), - PD_USEDEVMODECOPIESANDCOLLATE = (262144), - PSD_DEFAULTMINMARGINS = (0), - PSD_DISABLEMARGINS = (16), - PSD_DISABLEORIENTATION = (256), - PSD_DISABLEPAGEPAINTING = (524288), - PSD_DISABLEPAPER = (512), - PSD_DISABLEPRINTER = (32), - PSD_ENABLEPAGEPAINTHOOK = (262144), - PSD_ENABLEPAGESETUPHOOK = (8192), - PSD_ENABLEPAGESETUPTEMPLATE = (32768), - PSD_ENABLEPAGESETUPTEMPLATEHANDLE = (131072), - PSD_INHUNDREDTHSOFMILLIMETERS = (8), - PSD_INTHOUSANDTHSOFINCHES = (4), - PSD_INWININIINTLMEASURE = (0), - PSD_MARGINS = (2), - PSD_MINMARGINS = (1), - PSD_NOWARNING = (128), - PSD_RETURNDEFAULT = (1024), - PSD_SHOWHELP = (2048), - SW_OTHERUNZOOM = (4), - SW_OTHERZOOM = (2), - SW_PARENTCLOSING = (1), - SW_PARENTOPENING = (3), - VK_LBUTTON = (1), - VK_RBUTTON = (2), - VK_CANCEL = (3), - VK_MBUTTON = (4), - VK_BACK = (8), - VK_TAB = (9), - VK_CLEAR = (12), - VK_RETURN = (13), - VK_SHIFT = (16), - VK_CONTROL = (17), - VK_MENU = (18), - VK_PAUSE = (19), - VK_CAPITAL = (20), - VK_ESCAPE = (27), - VK_SPACE = (32), - VK_PRIOR = (33), - VK_NEXT = (34), - VK_END = (35), - VK_HOME = (36), - VK_LEFT = (37), - VK_UP = (38), - VK_RIGHT = (39), - VK_DOWN = (40), - VK_SELECT = (41), - VK_PRINT = (42), - VK_EXECUTE = (43), - VK_SNAPSHOT = (44), - VK_INSERT = (45), - VK_DELETE = (46), - VK_HELP = (47), - VK_0 = (48), - VK_1 = (49), - VK_2 = (50), - VK_3 = (51), - VK_4 = (52), - VK_5 = (53), - VK_6 = (54), - VK_7 = (55), - VK_8 = (56), - VK_9 = (57), - VK_A = (65), - VK_B = (66), - VK_C = (67), - VK_D = (68), - VK_E = (69), - VK_F = (70), - VK_G = (71), - VK_H = (72), - VK_I = (73), - VK_J = (74), - VK_K = (75), - VK_L = (76), - VK_M = (77), - VK_N = (78), - VK_O = (79), - VK_P = (80), - VK_Q = (81), - VK_R = (82), - VK_S = (83), - VK_T = (84), - VK_U = (85), - VK_V = (86), - VK_W = (87), - VK_X = (88), - VK_Y = (89), - VK_Z = (90), - VK_NUMPAD0 = (96), - VK_NUMPAD1 = (97), - VK_NUMPAD2 = (98), - VK_NUMPAD3 = (99), - VK_NUMPAD4 = (100), - VK_NUMPAD5 = (101), - VK_NUMPAD6 = (102), - VK_NUMPAD7 = (103), - VK_NUMPAD8 = (104), - VK_NUMPAD9 = (105), - VK_MULTIPLY = (106), - VK_ADD = (107), - VK_SEPARATOR = (108), - VK_SUBTRACT = (109), - VK_DECIMAL = (110), - VK_DIVIDE = (111), - VK_F1 = (112), - VK_F2 = (113), - VK_F3 = (114), - VK_F4 = (115), - VK_F5 = (116), - VK_F6 = (117), - VK_F7 = (118), - VK_F8 = (119), - VK_F9 = (120), - VK_F10 = (121), - VK_F11 = (122), - VK_F12 = (123), - VK_F13 = (124), - VK_F14 = (125), - VK_F15 = (126), - VK_F16 = (127), - VK_F17 = (128), - VK_F18 = (129), - VK_F19 = (130), - VK_F20 = (131), - VK_F21 = (132), - VK_F22 = (133), - VK_F23 = (134), - VK_F24 = (135), - VK_NUMLOCK = (144), - VK_SCROLL = (145), - VK_LSHIFT = (160), - VK_LCONTROL = (162), - VK_LMENU = (164), - VK_RSHIFT = (161), - VK_RCONTROL = (163), - VK_RMENU = (165), - VK_PROCESSKEY = (229), - KF_ALTDOWN = (8192), - KF_DLGMODE = (2048), - KF_EXTENDED = (256), - KF_MENUMODE = (4096), - KF_REPEAT = (16384), - KF_UP = (32768), - KL_NAMELENGTH = (9), - WA_ACTIVE = (1), - WA_CLICKACTIVE = (2), - WA_INACTIVE = (0), - PWR_CRITICALRESUME = (3), - PWR_SUSPENDREQUEST = (1), - PWR_SUSPENDRESUME = (2), - PWR_FAIL = -((1)), - PWR_OK = (1), - NF_QUERY = (3), - NF_REQUERY = (4), - NFR_ANSI = (1), - NFR_UNICODE = (2), - WMSZ_BOTTOM = (6), - WMSZ_BOTTOMLEFT = (7), - WMSZ_BOTTOMRIGHT = (8), - WMSZ_LEFT = (1), - WMSZ_RIGHT = (2), - WMSZ_TOP = (3), - WMSZ_TOPLEFT = (4), - WMSZ_TOPRIGHT = (5), - MA_ACTIVATE = (1), - MA_ACTIVATEANDEAT = (2), - MA_NOACTIVATE = (3), - MA_NOACTIVATEANDEAT = (4), - SIZE_MAXHIDE = (4), - SIZE_MAXIMIZED = (2), - SIZE_MAXSHOW = (3), - SIZE_MINIMIZED = (1), - SIZE_RESTORED = (0), - WVR_ALIGNTOP = (16), - WVR_ALIGNLEFT = (32), - WVR_ALIGNBOTTOM = (64), - WVR_ALIGNRIGHT = (128), - WVR_HREDRAW = (256), - WVR_VREDRAW = (512), - WVR_REDRAW = (768), - WVR_VALIDRECTS = (1024), - HTBOTTOM = (15), - HTBOTTOMLEFT = (16), - HTBOTTOMRIGHT = (17), - HTCAPTION = (2), - HTCLIENT = (1), - HTERROR = -((2)), - HTGROWBOX = (4), - HTHSCROLL = (6), - HTLEFT = (10), - HTMENU = (5), - HTNOWHERE = (0), - HTREDUCE = (8), - HTRIGHT = (11), - HTSIZE = (4), - HTSYSMENU = (3), - HTTOP = (12), - HTTOPLEFT = (13), - HTTOPRIGHT = (14), - HTTRANSPARENT = -((1)), - HTVSCROLL = (7), - HTZOOM = (9), - MK_CONTROL = (8), - MK_LBUTTON = (1), - MK_MBUTTON = (16), - MK_RBUTTON = (2), - MK_SHIFT = (4), - CS_BYTEALIGNCLIENT = (4096), - CS_BYTEALIGNWINDOW = (8192), - CS_CLASSDC = (64), - CS_DBLCLKS = (8), - CS_GLOBALCLASS = (16384), - CS_HREDRAW = (2), - CS_KEYCVTWINDOW = (4), - CS_NOCLOSE = (512), - CS_NOKEYCVT = (256), - CS_OWNDC = (32), - CS_PARENTDC = (128), - CS_SAVEBITS = (2048), - CS_VREDRAW = (1), - DLGWINDOWEXTRA = (30), - FALT = (16), - FCONTROL = (8), - FNOINVERT = (2), - FSHIFT = (4), - FVIRTKEY = (1), - MIIM_CHECKMARKS = (8), - MIIM_DATA = (32), - MIIM_ID = (2), - MIIM_STATE = (1), - MIIM_SUBMENU = (4), - MIIM_TYPE = (16), - MFT_BITMAP = (0x4), - MFT_MENUBARBREAK = (0x20), - MFT_MENUBREAK = (0x40), - MFT_OWNERDRAW = (0x100), - MFT_RADIOCHECK = (0x200), - MFT_RIGHTJUSTIFY = (0x4000), - MFT_SEPARATOR = (0x800), - MFT_STRING = (0), - MFS_CHECKED = (0x8), - MFS_DEFAULT = (0x1000), - MFS_DISABLED = (0x3), - MFS_ENABLED = (0), - MFS_GRAYED = (0x3), - MFS_HILITE = (0x80), - MFS_UNCHECKED = (0), - MFS_UNHILITE = (0), - SERKF_AVAILABLE = (2), - SERKF_INDICATOR = (4), - SERKF_SERIALKEYSON = (1), - FKF_AVAILABLE = (2), - FKF_CLICKON = (64), - FKF_FILTERKEYSON = (1), - FKF_HOTKEYACTIVE = (4), - FKF_HOTKEYSOUND = (16), - FKF_CONFIRMHOTKEY = (8), - FKF_INDICATOR = (32), - HELPINFO_MENUITEM = (2), - HELPINFO_WINDOW = (1), - PRF_CHECKVISIBLE = (0x1), - PRF_CHILDREN = (0x10), - PRF_CLIENT = (0x4), - PRF_ERASEBKGND = (0x8), - PRF_NONCLIENT = (0x2), - PRF_OWNED = (0x20), - SC_CLOSE = (61536), - SC___FILE__HELP = (61824), - SC_DEFAULT = (61792), - SC_HOTKEY = (61776), - SC_HSCROLL = (61568), - SC_KEYMENU = (61696), - SC_MAXIMIZE = (61488), - SC_ZOOM = (61488), - SC_MINIMIZE = (61472), - SC_ICON = (61472), - SC_MONITORPOWER = (61808), - SC_MOUSEMENU = (61584), - SC_MOVE = (61456), - SC_NEXTWINDOW = (61504), - SC_PREVWINDOW = (61520), - SC_RESTORE = (61728), - SC_SCREENSAVE = (61760), - SC_SIZE = (61440), - SC_TASKLIST = (61744), - SC_VSCROLL = (61552), - DC_HASDEFID = (21323), - DLGC_BUTTON = (8192), - DLGC_DEFPUSHBUTTON = (16), - DLGC_HASSETSEL = (8), - DLGC_RADIOBUTTON = (64), - DLGC_STATIC = (256), - DLGC_UNDEFPUSHBUTTON = (32), - DLGC_WANTALLKEYS = (4), - DLGC_WANTARROWS = (1), - DLGC_WANTCHARS = (128), - DLGC_WANTMESSAGE = (4), - DLGC_WANTTAB = (2), - EC_LEFTMARGIN = (1), - EC_RIGHTMARGIN = (2), - EC_USEFONTINFO = (65535), - LB_ERR = -((1)), - LB_ERRSPACE = -((2)), - LB_OKAY = (0), - CB_ERR = -((1)), - CB_ERRSPACE = -((2)), - IMC_GETCANDIDATEPOS = (7), - IMC_GETCOMPOSITIONFONT = (9), - IMC_GETCOMPOSITIONWINDOW = (11), - IMC_GETSTATUSWINDOWPOS = (15), - IMC_CLOSESTATUSWINDOW = (33), - IMC_OPENSTATUSWINDOW = (34), - IMC_SETCANDIDATEPOS = (8), - IMC_SETCOMPOSITIONFONT = (10), - IMC_SETCOMPOSITIONWINDOW = (12), - IMC_SETSTATUSWINDOWPOS = (16), - IMN_CHANGECANDIDATE = (3), - IMN_CLOSECANDIDATE = (4), - IMN_CLOSESTATUSWINDOW = (1), - IMN_GUIDELINE = (13), - IMN_OPENCANDIDATE = (5), - IMN_OPENSTATUSWINDOW = (2), - IMN_SETCANDIDATEPOS = (9), - IMN_SETCOMPOSITIONFONT = (10), - IMN_SETCOMPOSITIONWINDOW = (11), - IMN_SETCONVERSIONMODE = (6), - IMN_SETOPENSTATUS = (8), - IMN_SETSENTENCEMODE = (7), - IMN_SETSTATUSWINDOWPOS = (12), - IMN_PRIVATE = (14), - SKF_AUDIBLEFEEDBACK = (64), - SKF_AVAILABLE = (2), - SKF_CONFIRMHOTKEY = (8), - SKF_HOTKEYACTIVE = (4), - SKF_HOTKEYSOUND = (16), - SKF_INDICATOR = (32), - SKF_STICKYKEYSON = (1), - SKF_TRISTATE = (128), - SKF_TWOKEYSOFF = (256), - MKF_AVAILABLE = (2), - MKF_CONFIRMHOTKEY = (8), - MKF_HOTKEYACTIVE = (4), - MKF_HOTKEYSOUND = (16), - MKF_INDICATOR = (32), - MKF_MOUSEKEYSON = (1), - MKF_MODIFIERS = (64), - MKF_REPLACENUMBERS = (128), - SSF_AVAILABLE = (2), - SSF_SOUNDSENTRYON = (1), - SSTF_BORDER = (2), - SSTF_CHARS = (1), - SSTF_DISPLAY = (3), - SSTF_NONE = (0), - SSGF_DISPLAY = (3), - SSGF_NONE = (0), - SSWF_CUSTOM = (4), - SSWF_DISPLAY = (3), - SSWF_NONE = (0), - SSWF_TITLE = (1), - SSWF_WINDOW = (2), - ATF_ONOFFFEEDBACK = (2), - ATF_TIMEOUTON = (1), - HCF_AVAILABLE = (2), - HCF_CONFIRMHOTKEY = (8), - HCF_HIGHCONTRASTON = (1), - HCF_HOTKEYACTIVE = (4), - HCF_HOTKEYAVAILABLE = (64), - HCF_HOTKEYSOUND = (16), - HCF_INDICATOR = (32), - TKF_AVAILABLE = (2), - TKF_CONFIRMHOTKEY = (8), - TKF_HOTKEYACTIVE = (4), - TKF_HOTKEYSOUND = (16), - TKF_TOGGLEKEYSON = (1), - PP_DISPLAYERRORS = (1), - RESOURCEDISPLAYTYPE_DOMAIN = (1), - RESOURCEDISPLAYTYPE_FILE = (4), - RESOURCEDISPLAYTYPE_GENERIC = (0), - RESOURCEDISPLAYTYPE_GROUP = (5), - RESOURCEDISPLAYTYPE_SERVER = (2), - RESOURCEDISPLAYTYPE_SHARE = (3), - CAPSLOCK_ON = (128), - ENHANCED_KEY = (256), - LEFT_ALT_PRESSED = (2), - LEFT_CTRL_PRESSED = (8), - NUMLOCK_ON = (32), - RIGHT_ALT_PRESSED = (1), - RIGHT_CTRL_PRESSED = (4), - SCROLLLOCK_ON = (64), - SHIFT_PRESSED = (16), - FROM_LEFT_1ST_BUTTON_PRESSED = (1), - RIGHTMOST_BUTTON_PRESSED = (2), - FROM_LEFT_2ND_BUTTON_PRESSED = (4), - FROM_LEFT_3RD_BUTTON_PRESSED = (8), - FROM_LEFT_4TH_BUTTON_PRESSED = (16), - DOUBLE_CLICK = (2), - MOUSE_MOVED = (1), - KEY_EVENT = (1), - _MOUSE_EVENT = (2), - cMOUSE_EVENT = (2), - WINDOW_BUFFER_SIZE_EVENT = (4), - MENU_EVENT = (8), - FOCUS_EVENT = (16), - BI_RGB = (0), - BI_RLE8 = (1), - BI_RLE4 = (2), - BI_BITFIELDS = (3), - PFD_DRAW_TO_WINDOW = (0x4), - PFD_DRAW_TO_BITMAP = (0x8), - PFD_SUPPORT_GDI = (0x10), - PFD_SUPPORT_OPENGL = (0x20), - PFD_DOUBLEBUFFER = (0x1), - PFD_STEREO = (0x2), - PFD_DOUBLEBUFFER_DONTCARE = (0x40000000), - PFD_STEREO_DONTCARE = (0x80000000), - PFD_TYPE_RGBA = (0), - PFD_TYPE_COLORINDEX = (1), - PFD_MAIN_PLANE = (0), - PFD_OVERLAY_PLANE = (1), - PFD_UNDERLAY_PLANE = -((1)), - WGL_FONT_LINES = (0), - WGL_FONT_POLYGONS = (1), - PFD_GENERIC_FORMAT = (0x40), - PFD_NEED_PALETTE = (0x80), - PFD_NEED_SYSTEM_PALETTE = (0x100), - PFD_SWAP_COPY = (0x400), - PFD_SWAP_EXCHANGE = (0x200), - TMPF_FIXED_PITCH = (0x1), - TMPF_VECTOR = (0x2), - TMPF_TRUETYPE = (0x4), - TMPF_DEVICE = (0x8), - SE_ERR_SHARE = (26), - SE_ERR_ASSOCINCOMPLETE = (27), - SE_ERR_DDETIMEOUT = (28), - SE_ERR_DDEFAIL = (29), - SE_ERR_DDEBUSY = (30), - SE_ERR_NOASSOC = (31), - XCLASS_BOOL = (0x1000), - XCLASS_DATA = (0x2000), - XCLASS_FLAGS = (0x4000), - XCLASS_MASK = (0xfc00), - XCLASS_NOTIFICATION = (0x8000), - XTYPF_NOBLOCK = (0x0002), - XTYP_ADVDATA = (0x4010), - XTYP_ADVREQ = (0x2022), - XTYP_ADVSTART = (0x1030), - XTYP_ADVSTOP = (0x8040), - XTYP_CONNECT = (0x1062), - XTYP_CONNECT_CONFIRM = (0x8072), - XTYP_DISCONNECT = (0x80c2), - XTYP_EXECUTE = (0x4050), - XTYP_POKE = (0x4090), - XTYP_REQUEST = (0x20b0), - XTYP_WILDCONNECT = (0x20E2), - XTYP_REGISTER = (0x80A2), - XTYP_ERROR = (0x8002), - XTYP_XACT_COMPLETE = (0x8080), - XTYP_UNREGISTER = (0x80D2), - DMLERR_DLL_USAGE = (0x4004), - DMLERR_INVALIDPARAMETER = (0x4006), - DMLERR_NOTPROCESSED = (0x4009), - DMLERR_POSTMSG_FAILED = (0x400c), - DMLERR_SERVER_DIED = (0x400e), - DMLERR_SYS_ERROR = (0x400f), - DMLERR_BUSY = (0x4001), - DMLERR_DATAACKTIMEOUT = (0x4002), - DMLERR_ADVACKTIMEOUT = (0x4000), - DMLERR_DLL_NOT_INITIALIZED = (0x4003), - DMLERR_LOW_MEMORY = (0x4007), - DMLERR_MEMORY_ERROR = (0x4008), - DMLERR_POKEACKTIMEOUT = (0x400b), - DMLERR_NO_CONV_ESTABLISHED = (0x400a), - DMLERR_REENTRANCY = (0x400d), - DMLERR_UNFOUND_QUEUE_ID = (0x4011), - DMLERR_UNADVACKTIMEOUT = (0x4010), - DMLERR_EXECACKTIMEOUT = (0x4005), - DDE_FACK = (0x8000), - DDE_FNOTPROCESSED = (0x0000), - DNS_REGISTER = (0x0001), - DNS_UNREGISTER = (0x0002), - CP_WINANSI = (1004), - CP_WINUNICODE = (1200), - APPCLASS_STANDARD = (0x00000000), - BKMODE_LAST = (2), - CTLCOLOR_MSGBOX = (0), - CTLCOLOR_EDIT = (1), - CTLCOLOR_LISTBOX = (2), - CTLCOLOR_BTN = (3), - CTLCOLOR_DLG = (4), - CTLCOLOR_SCROLLBAR = (5), - CTLCOLOR_STATIC = (6), - CTLCOLOR_MAX = (7), - META_SETMAPMODE = (0x0103), - META_SETWINDOWORG = (0x020B), - META_SETWINDOWEXT = (0x020C), - POLYFILL_LAST = (2), - STATUS_WAIT_0 = (0x00000000), - STATUS_ABANDONED_WAIT_0 = (0x00000080), - STATUS_USER_APC = (0x000000C0), - STATUS_TIMEOUT = (0x00000102), - STATUS_PENDING = (0x00000103), - STATUS_GUARD_PAGE_VIOLATION = (0x80000001), - STATUS_DATATYPE_MISALIGNMENT = (0x80000002), - STATUS_BREAKPOINT = (0x80000003), - STATUS_SINGLE_STEP = (0x80000004), - STATUS_IN_PAGE_ERROR = (0xC0000006), - STATUS_INVALID_HANDLE = (0xC0000008), - STATUS_ILLEGAL_INSTRUCTION = (0xC000001D), - STATUS_NONCONTINUABLE_EXCEPTION = (0xC0000025), - STATUS_INVALID_DISPOSITION = (0xC0000026), - STATUS_ARRAY_BOUNDS_EXCEEDED = (0xC000008C), - STATUS_FLOAT_DENORMAL_OPERAND = (0xC000008D), - STATUS_FLOAT_DIVIDE_BY_ZERO = (0xC000008E), - STATUS_FLOAT_INEXACT_RESULT = (0xC000008F), - STATUS_FLOAT_INVALID_OPERATION = (0xC0000090), - STATUS_FLOAT_OVERFLOW = (0xC0000091), - STATUS_FLOAT_STACK_CHECK = (0xC0000092), - STATUS_FLOAT_UNDERFLOW = (0xC0000093), - STATUS_INTEGER_DIVIDE_BY_ZERO = (0xC0000094), - STATUS_INTEGER_OVERFLOW = (0xC0000095), - STATUS_PRIVILEGED_INSTRUCTION = (0xC0000096), - STATUS_STACK_OVERFLOW = (0xC00000FD), - STATUS_CONTROL_C_EXIT = (0xC000013A), - PROCESSOR_ARCHITECTURE_INTEL = (0), - PROCESSOR_ARCHITECTURE_MIPS = (1), - PROCESSOR_ARCHITECTURE_ALPHA = (2), - PROCESSOR_ARCHITECTURE_PPC = (3), - SIZEFULLSCREEN = (SIZE_MAXIMIZED), - SIZENORMAL = (SIZE_RESTORED), - SIZEICONIC = (SIZE_MINIMIZED), - SIZE_OF_80387_REGISTERS = (80), - __FILE___i386 = (0x10000), - __FILE___CONTROL = (__FILE___i386) | (1), - __FILE___INTEGER = (__FILE___i386) | (2), - __FILE___SEGMENTS = (__FILE___i386) | (4), - __FILE___FLOATING_POINT = (__FILE___i386) | (8), - __FILE___DEBUG_REGISTERS = (__FILE___i386) | (0x10), - __FILE___FULL = ((__FILE___CONTROL) | (__FILE___INTEGER)) | (__FILE___SEGMENTS), - FLAG_TRACE_BIT = (0x100), - __FILE___DEBUGGER = (__FILE___FULL) | (__FILE___FLOATING_POINT), - FILTER_TEMP_DUPLICATE_ACCOUNT = (0x0001), - FILTER_NORMAL_ACCOUNT = (0x0002), - FILTER_INTERDOMAIN_TRUST_ACCOUNT = (0x0008), - FILTER_WORKSTATION_TRUST_ACCOUNT = (0x0010), - FILTER_SERVER_TRUST_ACCOUNT = (0x0020), - LOGON32_LOGON_INTERACTIVE = (0x02), - LOGON32_LOGON_BATCH = (0x04), - LOGON32_LOGON_SERVICE = (0x05), - LOGON32_PROVIDER_DEFAULT = (0x00), - LOGON32_PROVIDER_WINNT35 = (0x01), - QID_SYNC = (0xFFFFFFFF), - IMAGE_DOS_SIGNATURE = (0x5a4d), - IMAGE_NT_SIGNATURE = (0x4550), - SEVERITY_SUCCESS = (0), - SEVERITY_ERROR = (1), - VT_EMPTY = (0), - VT_NULL = (1), - VT_I2 = (2), - VT_I4 = (3), - VT_R4 = (4), - VT_R8 = (5), - VT_BSTR = (8), - VT_ERROR = (10), - VT_BOOL = (11), - VT_UI1 = (17), - VT_BYREF = (0x4000), - VT_RESERVED = (0x8000), - FACILITY_WINDOWS = (8), - FACILITY_STORAGE = (3), - FACILITY_RPC = (1), - FACILITY_SSPI = (9), - FACILITY_WIN32 = (7), - FACILITY_CONTROL = (10), - FACILITY_NULL = (0), - FACILITY_INTERNET = (12), - FACILITY_ITF = (4), - FACILITY_DISPATCH = (2), - FACILITY_CERT = (11), - ACM_OPENW = (1127), - ACM_OPENA = (1124), - ACM_OPEN = (ACM_OPENA), - ACM_PLAY = (1125), - ACM_STOP = (1126), - ACN_START = (1), - ACN_STOP = (2), - BM_CLICK = (245), - BM_GETCHECK = (240), - BM_GETIMAGE = (246), - BM_GETSTATE = (242), - BM_SETCHECK = (241), - BM_SETIMAGE = (247), - BM_SETSTATE = (243), - BM_SETSTYLE = (244), - BN_CLICKED = (0), - BN_DBLCLK = (5), - BN_DISABLE = (4), - BN_DOUBLECLICKED = (5), - BN_HILITE = (2), - BN_KILLFOCUS = (7), - BN_PAINT = (1), - BN_PUSHED = (2), - BN_SETFOCUS = (6), - BN_UNHILITE = (3), - BN_UNPUSHED = (3), - CB_ADDSTRING = (323), - CB_DELETESTRING = (324), - CB_DIR = (325), - CB_FINDSTRING = (332), - CB_FINDSTRINGEXACT = (344), - CB_GETCOUNT = (326), - CB_GETCURSEL = (327), - CB_GETDROPPEDCONTROLRECT = (338), - CB_GETDROPPEDSTATE = (343), - CB_GETDROPPEDWIDTH = (351), - CB_GETEDITSEL = (320), - CB_GETEXTENDEDUI = (342), - CB_GETHORIZONTALEXTENT = (349), - CB_GETITEMDATA = (336), - CB_GETITEMHEIGHT = (340), - CB_GETLBTEXT = (328), - CB_GETLBTEXTLEN = (329), - CB_GETLOCALE = (346), - CB_GETTOPINDEX = (347), - CB_INITSTORAGE = (353), - CB_INSERTSTRING = (330), - CB_LIMITTEXT = (321), - CB_RESETCONTENT = (331), - CB_SELECTSTRING = (333), - CB_SETCURSEL = (334), - CB_SETDROPPEDWIDTH = (352), - CB_SETEDITSEL = (322), - CB_SETEXTENDEDUI = (341), - CB_SETHORIZONTALEXTENT = (350), - CB_SETITEMDATA = (337), - CB_SETITEMHEIGHT = (339), - CB_SETLOCALE = (345), - CB_SETTOPINDEX = (348), - CB_SHOWDROPDOWN = (335), - CBN_CLOSEUP = (8), - CBN_DBLCLK = (2), - CBN_DROPDOWN = (7), - CBN_EDITCHANGE = (5), - CBN_EDITUPDATE = (6), - CBN_ERRSPACE = -((1)), - CBN_KILLFOCUS = (4), - CBN_SELCHANGE = (1), - CBN_SELENDCANCEL = (10), - CBN_SELENDOK = (9), - CBN_SETFOCUS = (3), - DL_BEGINDRAG = (1157), - DL_CANCELDRAG = (1160), - DL_DRAGGING = (1158), - DL_DROPPED = (1159), - DM_GETDEFID = (1024), - DM_REPOSITION = (1026), - DM_SETDEFID = (1025), - EM_CANPASTE = (1074), - EM_CANUNDO = (198), - EM_CHARFROMPOS = (215), - EM_DISPLAYBAND = (1075), - EM_EMPTYUNDOBUFFER = (205), - EM_EXGETSEL = (1076), - EM_EXLIMITTEXT = (1077), - EM_EXLINEFROMCHAR = (1078), - EM_EXSETSEL = (1079), - EM_FINDTEXT = (1080), - EM_FINDTEXTEX = (1103), - EM_FINDWORDBREAK = (1100), - EM_FMTLINES = (200), - EM_FORMATRANGE = (1081), - EM_GETCHARFORMAT = (1082), - EM_GETEVENTMASK = (1083), - EM_GETFIRSTVISIBLELINE = (206), - EM_GETHANDLE = (189), - EM_GETLIMITTEXT = (213), - EM_GETLINE = (196), - EM_GETLINECOUNT = (186), - EM_GETMARGINS = (212), - EM_GETMODIFY = (184), - EM_GETIMECOLOR = (1129), - EM_GETIMEOPTIONS = (1131), - EM_GETOPTIONS = (1102), - EM_GETOLEINTERFACE = (1084), - EM_GETPARAFORMAT = (1085), - EM_GETPASSWORDCHAR = (210), - EM_GETPUNCTUATION = (1125), - EM_GETRECT = (178), - EM_GETSEL = (176), - EM_GETSELTEXT = (1086), - EM_GETTEXTRANGE = (1099), - EM_GETTHUMB = (190), - EM_GETWORDBREAKPROC = (209), - EM_GETWORDBREAKPROCEX = (1104), - EM_GETWORDWRAPMODE = (1127), - EM_HIDESELECTION = (1087), - EM_LIMITTEXT = (197), - EM_LINEFROMCHAR = (201), - EM_LINEINDEX = (187), - EM_LINELENGTH = (193), - EM_LINESCROLL = (182), - EM_PASTESPECIAL = (1088), - EM_POSFROMCHAR = (214), - EM_REPLACESEL = (194), - EM_REQUESTRESIZE = (1089), - EM_SCROLL = (181), - EM_SCROLLCARET = (183), - EM_SELECTIONTYPE = (1090), - EM_SETBKGNDCOLOR = (1091), - EM_SETCHARFORMAT = (1092), - EM_SETEVENTMASK = (1093), - EM_SETHANDLE = (188), - EM_SETIMECOLOR = (1128), - EM_SETIMEOPTIONS = (1130), - EM_SETLIMITTEXT = (197), - EM_SETMARGINS = (211), - EM_SETMODIFY = (185), - EM_SETOLECALLBACK = (1094), - EM_SETOPTIONS = (1101), - EM_SETPARAFORMAT = (1095), - EM_SETPASSWORDCHAR = (204), - EM_SETPUNCTUATION = (1124), - EM_SETREADONLY = (207), - EM_SETRECT = (179), - EM_SETRECTNP = (180), - EM_SETSEL = (177), - EM_SETTABSTOPS = (203), - EM_SETTARGETDEVICE = (1096), - EM_SETWORDBREAKPROC = (208), - EM_SETWORDBREAKPROCEX = (1105), - EM_SETWORDWRAPMODE = (1126), - EM_STREAMIN = (1097), - EM_STREAMOUT = (1098), - EM_UNDO = (199), - EN_CHANGE = (768), - EN_CORRECTTEXT = (1797), - EN_DROPFILES = (1795), - EN_ERRSPACE = (1280), - EN_HSCROLL = (1537), - EN_IMECHANGE = (1799), - EN_KILLFOCUS = (512), - EN_MAXTEXT = (1281), - EN_MSGFILTER = (1792), - EN_OLEOPFAILED = (1801), - EN_PROTECTED = (1796), - EN_REQUESTRESIZE = (1793), - EN_SAVECLIPBOARD = (1800), - EN_SELCHANGE = (1794), - EN_SETFOCUS = (256), - EN_STOPNOUNDO = (1798), - EN_UPDATE = (1024), - EN_VSCROLL = (1538), - HDM_DELETEITEM = (4610), - HDM_GETITEMW = (4619), - HDM_INSERTITEMW = (4618), - HDM_SETITEMW = (4620), - HDM_GETITEMA = (4611), - HDM_INSERTITEMA = (4609), - HDM_SETITEMA = (4612), - HDM_GETITEM = (HDM_GETITEMA), - HDM_INSERTITEM = (HDM_INSERTITEMA), - HDM_SETITEM = (HDM_SETITEMA), - HDM_GETITEMCOUNT = (4608), - HDM_HITTEST = (4614), - HDM_LAYOUT = (4613), - HDN_BEGINTRACKW = -((326)), - HDN_DIVIDERDBLCLICKW = -((325)), - HDN_ENDTRACKW = -((327)), - HDN_ITEMCHANGEDW = -((321)), - HDN_ITEMCHANGINGW = -((320)), - HDN_ITEMCLICKW = -((322)), - HDN_ITEMDBLCLICKW = -((323)), - HDN_TRACKW = -((328)), - HDN_BEGINTRACKA = -((306)), - HDN_DIVIDERDBLCLICKA = -((305)), - HDN_ENDTRACKA = -((307)), - HDN_ITEMCHANGEDA = -((301)), - HDN_ITEMCHANGINGA = -((300)), - HDN_ITEMCLICKA = -((302)), - HDN_ITEMDBLCLICKA = -((303)), - HDN_TRACKA = -((308)), - HDN_BEGINTRACK = (HDN_BEGINTRACKA), - HDN_DIVIDERDBLCLICK = (HDN_DIVIDERDBLCLICKA), - HDN_ENDTRACK = (HDN_ENDTRACKA), - HDN_ITEMCHANGED = (HDN_ITEMCHANGEDA), - HDN_ITEMCHANGING = (HDN_ITEMCHANGINGA), - HDN_ITEMCLICK = (HDN_ITEMCLICKA), - HDN_ITEMDBLCLICK = (HDN_ITEMDBLCLICKA), - HDN_TRACK = (HDN_TRACKA), - HKM_GETHOTKEY = (1026), - HKM_SETHOTKEY = (1025), - HKM_SETRULES = (1027), - LB_ADDFILE = (406), - LB_ADDSTRING = (384), - LB_DELETESTRING = (386), - LB_DIR = (397), - LB_FINDSTRING = (399), - LB_FINDSTRINGEXACT = (418), - LB_GETANCHORINDEX = (413), - LB_GETCARETINDEX = (415), - LB_GETCOUNT = (395), - LB_GETCURSEL = (392), - LB_GETHORIZONTALEXTENT = (403), - LB_GETITEMDATA = (409), - LB_GETITEMHEIGHT = (417), - LB_GETITEMRECT = (408), - LB_GETLOCALE = (422), - LB_GETSEL = (391), - LB_GETSELCOUNT = (400), - LB_GETSELITEMS = (401), - LB_GETTEXT = (393), - LB_GETTEXTLEN = (394), - LB_GETTOPINDEX = (398), - LB_INITSTORAGE = (424), - LB_INSERTSTRING = (385), - LB_ITEMFROMPOINT = (425), - LB_RESETCONTENT = (388), - LB_SELECTSTRING = (396), - LB_SELITEMRANGE = (411), - LB_SELITEMRANGEEX = (387), - LB_SETANCHORINDEX = (412), - LB_SETCARETINDEX = (414), - LB_SETCOLUMNWIDTH = (405), - LB_SETCOUNT = (423), - LB_SETCURSEL = (390), - LB_SETHORIZONTALEXTENT = (404), - LB_SETITEMDATA = (410), - LB_SETITEMHEIGHT = (416), - LB_SETLOCALE = (421), - LB_SETSEL = (389), - LB_SETTABSTOPS = (402), - LB_SETTOPINDEX = (407), - LBN_DBLCLK = (2), - LBN_ERRSPACE = -((2)), - LBN_KILLFOCUS = (5), - LBN_SELCANCEL = (3), - LBN_SELCHANGE = (1), - LBN_SETFOCUS = (4), - LVM_ARRANGE = (4118), - LVM_CREATEDRAGIMAGE = (4129), - LVM_DELETEALLITEMS = (4105), - LVM_DELETECOLUMN = (4124), - LVM_DELETEITEM = (4104), - LVM_ENSUREVISIBLE = (4115), - LVM_GETBKCOLOR = (4096), - LVM_GETCALLBACKMASK = (4106), - LVM_GETCOLUMNWIDTH = (4125), - LVM_GETCOUNTPERPAGE = (4136), - LVM_GETEDITCONTROL = (4120), - LVM_GETIMAGELIST = (4098), - LVM_EDITLABELW = (4214), - LVM_FINDITEMW = (4179), - LVM_GETCOLUMNW = (4191), - LVM_GETISEARCHSTRINGW = (4213), - LVM_GETITEMW = (4171), - LVM_GETITEMTEXTW = (4211), - LVM_GETSTRINGWIDTHW = (4183), - LVM_INSERTCOLUMNW = (4193), - LVM_INSERTITEMW = (4173), - LVM_SETCOLUMNW = (4192), - LVM_SETITEMW = (4172), - LVM_SETITEMTEXTW = (4212), - LVM_EDITLABELA = (4119), - LVM_FINDITEMA = (4109), - LVM_GETCOLUMNA = (4121), - LVM_GETISEARCHSTRINGA = (4148), - LVM_GETITEMA = (4101), - LVM_GETITEMTEXTA = (4141), - LVM_GETSTRINGWIDTHA = (4113), - LVM_INSERTCOLUMNA = (4123), - LVM_INSERTITEMA = (4103), - LVM_SETCOLUMNA = (4122), - LVM_SETITEMA = (4102), - LVM_SETITEMTEXTA = (4142), - LVM_EDITLABEL = (LVM_EDITLABELA), - LVM_FINDITEM = (LVM_FINDITEMA), - LVM_GETCOLUMN = (LVM_GETCOLUMNA), - LVM_GETISEARCHSTRING = (LVM_GETISEARCHSTRINGA), - LVM_GETITEM = (LVM_GETITEMA), - LVM_GETITEMTEXT = (LVM_GETITEMTEXTA), - LVM_GETSTRINGWIDTH = (LVM_GETSTRINGWIDTHA), - LVM_INSERTCOLUMN = (LVM_INSERTCOLUMNA), - LVM_INSERTITEM = (LVM_INSERTITEMA), - LVM_SETCOLUMN = (LVM_SETCOLUMNA), - LVM_SETITEM = (LVM_SETITEMA), - LVM_SETITEMTEXT = (LVM_SETITEMTEXTA), - LVM_GETITEMCOUNT = (4100), - LVM_GETITEMPOSITION = (4112), - LVM_GETITEMRECT = (4110), - LVM_GETITEMSPACING = (4147), - LVM_GETITEMSTATE = (4140), - LVM_GETNEXTITEM = (4108), - LVM_GETORIGIN = (4137), - LVM_GETSELECTEDCOUNT = (4146), - LVM_GETTEXTBKCOLOR = (4133), - LVM_GETTEXTCOLOR = (4131), - LVM_GETTOPINDEX = (4135), - LVM_GETVIEWRECT = (4130), - LVM_HITTEST = (4114), - LVM_REDRAWITEMS = (4117), - LVM_SCROLL = (4116), - LVM_SETBKCOLOR = (4097), - LVM_SETCALLBACKMASK = (4107), - LVM_SETCOLUMNWIDTH = (4126), - LVM_SETIMAGELIST = (4099), - LVM_SETITEMCOUNT = (4143), - LVM_SETITEMPOSITION = (4111), - LVM_SETITEMPOSITION32 = (4145), - LVM_SETITEMSTATE = (4139), - LVM_SETTEXTBKCOLOR = (4134), - LVM_SETTEXTCOLOR = (4132), - LVM_SORTITEMS = (4144), - LVM_UPDATE = (4138), - LVN_BEGINDRAG = -((109)), - LVN_BEGINRDRAG = -((111)), - LVN_COLUMNCLICK = -((108)), - LVN_DELETEALLITEMS = -((104)), - LVN_DELETEITEM = -((103)), - LVN_BEGINLABELEDITW = -((175)), - LVN_ENDLABELEDITW = -((176)), - LVN_GETDISPINFOW = -((177)), - LVN_SETDISPINFOW = -((178)), - LVN_BEGINLABELEDITA = -((105)), - LVN_ENDLABELEDITA = -((106)), - LVN_GETDISPINFOA = -((150)), - LVN_SETDISPINFOA = -((151)), - LVN_BEGINLABELEDIT = (LVN_BEGINLABELEDITA), - LVN_ENDLABELEDIT = (LVN_ENDLABELEDITA), - LVN_GETDISPINFO = (LVN_GETDISPINFOA), - LVN_SETDISPINFO = (LVN_SETDISPINFOA), - LVN_INSERTITEM = -((102)), - LVN_ITEMCHANGED = -((101)), - LVN_ITEMCHANGING = -((100)), - LVN_KEYDOWN = -((155)), - NM_CLICK = -((2)), - NM_DBLCLK = -((3)), - NM_KILLFOCUS = -((8)), - NM_OUTOFMEMORY = -((1)), - NM_RCLICK = -((5)), - NM_RDBLCLK = -((6)), - NM_RETURN = -((4)), - NM_SETFOCUS = -((7)), - PBM_DELTAPOS = (1027), - PBM_SETPOS = (1026), - PBM_SETRANGE = (1025), - PBM_SETSTEP = (1028), - PBM_STEPIT = (1029), - PSM_ADDPAGE = (1127), - PSM_APPLY = (1134), - PSM_CANCELTOCLOSE = (1131), - PSM_CHANGED = (1128), - PSM_GETTABCONTROL = (1140), - PSM_GETCURRENTPAGEHWND = (1142), - PSM_ISDIALOGMESSAGE = (1141), - PSM_PRESSBUTTON = (1137), - PSM_QUERYSIBLINGS = (1132), - PSM_REBOOTSYSTEM = (1130), - PSM_REMOVEPAGE = (1126), - PSM_RESTARTWINDOWS = (1129), - PSM_SETCURSEL = (1125), - PSM_SETCURSELID = (1138), - PSM_SETFINISHTEXTW = (1145), - PSM_SETTITLEW = (1144), - PSM_SETFINISHTEXTA = (1139), - PSM_SETTITLEA = (1135), - PSM_SETFINISHTEXT = (PSM_SETFINISHTEXTA), - PSM_SETTITLE = (PSM_SETTITLEA), - PSM_SETWIZBUTTONS = (1136), - PSM_UNCHANGED = (1133), - PSN_APPLY = -((202)), - PSN_HELP = -((205)), - PSN_KILLACTIVE = -((201)), - PSN_QUERYCANCEL = -((209)), - PSN_RESET = -((203)), - PSN_SETACTIVE = -((200)), - PSN_WIZBACK = -((206)), - PSN_WIZFINISH = -((208)), - PSN_WIZNEXT = -((207)), - SB_GETBORDERS = (1031), - SB_GETPARTS = (1030), - SB_GETRECT = (1034), - SB_GETTEXTW = (1037), - SB_GETTEXTLENGTHW = (1036), - SB_SETTEXTW = (1035), - SB_GETTEXTA = (1026), - SB_GETTEXTLENGTHA = (1027), - SB_SETTEXTA = (1025), - SB_GETTEXT = (SB_GETTEXTA), - SB_GETTEXTLENGTH = (SB_GETTEXTLENGTHA), - SB_SETTEXT = (SB_SETTEXTA), - SB_SETMINHEIGHT = (1032), - SB_SETPARTS = (1028), - SB_SIMPLE = (1033), - SBM_ENABLE_ARROWS = (228), - SBM_GETPOS = (225), - SBM_GETRANGE = (227), - SBM_GETSCROLLINFO = (234), - SBM_SETPOS = (224), - SBM_SETRANGE = (226), - SBM_SETRANGEREDRAW = (230), - SBM_SETSCROLLINFO = (233), - STM_GETICON = (369), - STM_GETIMAGE = (371), - STM_SETICON = (368), - STM_SETIMAGE = (370), - STN_CLICKED = (0), - STN_DBLCLK = (1), - STN_DISABLE = (3), - STN_ENABLE = (2), - TB_ADDBITMAP = (1043), - TB_ADDBUTTONS = (1044), - TB_AUTOSIZE = (1057), - TB_BUTTONCOUNT = (1048), - TB_BUTTONSTRUCTSIZE = (1054), - TB_CHANGEBITMAP = (1067), - TB_CHECKBUTTON = (1026), - TB_COMMANDTOINDEX = (1049), - TB_CUSTOMIZE = (1051), - TB_DELETEBUTTON = (1046), - TB_ENABLEBUTTON = (1025), - TB_GETBITMAP = (1068), - TB_GETBITMAPFLAGS = (1065), - TB_GETBUTTON = (1047), - TB_ADDSTRINGW = (1101), - TB_GETBUTTONTEXTW = (1099), - TB_SAVERESTOREW = (1100), - TB_ADDSTRINGA = (1052), - TB_GETBUTTONTEXTA = (1069), - TB_SAVERESTOREA = (1050), - TB_ADDSTRING = (TB_ADDSTRINGA), - TB_GETBUTTONTEXT = (TB_GETBUTTONTEXTA), - TB_SAVERESTORE = (TB_SAVERESTOREA), - TB_GETITEMRECT = (1053), - TB_GETROWS = (1064), - TB_GETSTATE = (1042), - TB_GETTOOLTIPS = (1059), - TB_HIDEBUTTON = (1028), - TB_INDETERMINATE = (1029), - TB_INSERTBUTTON = (1045), - TB_ISBUTTONCHECKED = (1034), - TB_ISBUTTONENABLED = (1033), - TB_ISBUTTONHIDDEN = (1036), - TB_ISBUTTONINDETERMINATE = (1037), - TB_ISBUTTONPRESSED = (1035), - TB_PRESSBUTTON = (1027), - TB_SETBITMAPSIZE = (1056), - TB_SETBUTTONSIZE = (1055), - TB_SETCMDID = (1066), - TB_SETPARENT = (1061), - TB_SETROWS = (1063), - TB_SETSTATE = (1041), - TB_SETTOOLTIPS = (1060), - TBM_CLEARSEL = (1043), - TBM_CLEARTICS = (1033), - TBM_GETCHANNELRECT = (1050), - TBM_GETLINESIZE = (1048), - TBM_GETNUMTICS = (1040), - TBM_GETPAGESIZE = (1046), - TBM_GETPOS = (1024), - TBM_GETPTICS = (1038), - TBM_GETRANGEMAX = (1026), - TBM_GETRANGEMIN = (1025), - TBM_GETSELEND = (1042), - TBM_GETSELSTART = (1041), - TBM_GETTHUMBLENGTH = (1052), - TBM_GETTHUMBRECT = (1049), - TBM_GETTIC = (1027), - TBM_GETTICPOS = (1039), - TBM_SETLINESIZE = (1047), - TBM_SETPAGESIZE = (1045), - TBM_SETPOS = (1029), - TBM_SETRANGE = (1030), - TBM_SETRANGEMAX = (1032), - TBM_SETRANGEMIN = (1031), - TBM_SETSEL = (1034), - TBM_SETSELEND = (1036), - TBM_SETSELSTART = (1035), - TBM_SETTHUMBLENGTH = (1051), - TBM_SETTIC = (1028), - TBM_SETTICFREQ = (1044), - TBN_BEGINADJUST = -((703)), - TBN_BEGINDRAG = -((701)), - TBN_CUSTHELP = -((709)), - TBN_ENDADJUST = -((704)), - TBN_ENDDRAG = -((702)), - TBN_GETBUTTONINFOW = -((720)), - TBN_GETBUTTONINFOA = -((700)), - TBN_GETBUTTONINFO = (TBN_GETBUTTONINFOA), - TBN_QUERYDELETE = -((707)), - TBN_QUERYINSERT = -((706)), - TBN_RESET = -((705)), - TBN_TOOLBARCHANGE = -((708)), - TCM_ADJUSTRECT = (4904), - TCM_DELETEALLITEMS = (4873), - TCM_DELETEITEM = (4872), - TCM_GETCURFOCUS = (4911), - TCM_GETCURSEL = (4875), - TCM_GETIMAGELIST = (4866), - TCM_GETITEMW = (4924), - TCM_INSERTITEMW = (4926), - TCM_SETITEMW = (4925), - TCM_GETITEMA = (4869), - TCM_INSERTITEMA = (4871), - TCM_SETITEMA = (4870), - TCM_GETITEM = (TCM_GETITEMA), - TCM_INSERTITEM = (TCM_INSERTITEMA), - TCM_SETITEM = (TCM_SETITEMA), - TCM_GETITEMCOUNT = (4868), - TCM_GETITEMRECT = (4874), - TCM_GETROWCOUNT = (4908), - TCM_GETTOOLTIPS = (4909), - TCM_HITTEST = (4877), - TCM_REMOVEIMAGE = (4906), - TCM_SETCURFOCUS = (4912), - TCM_SETCURSEL = (4876), - TCM_SETIMAGELIST = (4867), - TCM_SETITEMEXTRA = (4878), - TCM_SETITEMSIZE = (4905), - TCM_SETPADDING = (4907), - TCM_SETTOOLTIPS = (4910), - TCN_KEYDOWN = -((550)), - TCN_SELCHANGE = -((551)), - TCN_SELCHANGING = -((552)), - TTM_ACTIVATE = (1025), - TTM_ADDTOOLW = (1074), - TTM_DELTOOLW = (1075), - TTM_ENUMTOOLSW = (1082), - TTM_GETCURRENTTOOLW = (1083), - TTM_GETTEXTW = (1080), - TTM_GETTOOLINFOW = (1077), - TTM_HITTESTW = (1079), - TTM_NEWTOOLRECTW = (1076), - TTM_SETTOOLINFOW = (1078), - TTM_UPDATETIPTEXTW = (1081), - TTM_ADDTOOLA = (1028), - TTM_DELTOOLA = (1029), - TTM_ENUMTOOLSA = (1038), - TTM_GETCURRENTTOOLA = (1039), - TTM_GETTEXTA = (1035), - TTM_GETTOOLINFOA = (1032), - TTM_HITTESTA = (1034), - TTM_NEWTOOLRECTA = (1030), - TTM_SETTOOLINFOA = (1033), - TTM_UPDATETIPTEXTA = (1036), - TTM_ADDTOOL = (TTM_ADDTOOLA), - TTM_DELTOOL = (TTM_DELTOOLA), - TTM_ENUMTOOLS = (TTM_ENUMTOOLSA), - TTM_GETCURRENTTOOL = (TTM_GETCURRENTTOOLA), - TTM_GETTEXT = (TTM_GETTEXTA), - TTM_GETTOOLINFO = (TTM_GETTOOLINFOA), - TTM_HITTEST = (TTM_HITTESTA), - TTM_NEWTOOLRECT = (TTM_NEWTOOLRECTA), - TTM_SETTOOLINFO = (TTM_SETTOOLINFOA), - TTM_UPDATETIPTEXT = (TTM_UPDATETIPTEXTA), - TTM_GETTOOLCOUNT = (1037), - TTM_RELAYEVENT = (1031), - TTM_SETDELAYTIME = (1027), - TTM_WINDOWFROMPOINT = (1040), - TTN_NEEDTEXTW = -((530)), - TTN_NEEDTEXTA = -((520)), - TTN_NEEDTEXT = (TTN_NEEDTEXTA), - TTN_POP = -((522)), - TTN_SHOW = -((521)), - TVM_CREATEDRAGIMAGE = (4370), - TVM_DELETEITEM = (4353), - TVM_ENDEDITLABELNOW = (4374), - TVM_ENSUREVISIBLE = (4372), - TVM_EXPAND = (4354), - TVM_GETCOUNT = (4357), - TVM_GETEDITCONTROL = (4367), - TVM_GETIMAGELIST = (4360), - TVM_GETINDENT = (4358), - TVM_GETITEMRECT = (4356), - TVM_GETNEXTITEM = (4362), - TVM_GETVISIBLECOUNT = (4368), - TVM_HITTEST = (4369), - TVM_EDITLABELW = (4417), - TVM_GETISEARCHSTRINGW = (4416), - TVM_GETITEMW = (4414), - TVM_INSERTITEMW = (4402), - TVM_SETITEMW = (4415), - TVM_EDITLABELA = (4366), - TVM_GETISEARCHSTRINGA = (4375), - TVM_GETITEMA = (4364), - TVM_INSERTITEMA = (4352), - TVM_SETITEMA = (4365), - TVM_EDITLABEL = (TVM_EDITLABELA), - TVM_GETISEARCHSTRING = (TVM_GETISEARCHSTRINGA), - TVM_GETITEM = (TVM_GETITEMA), - TVM_INSERTITEM = (TVM_INSERTITEMA), - TVM_SETITEM = (TVM_SETITEMA), - TVM_SELECTITEM = (4363), - TVM_SETIMAGELIST = (4361), - TVM_SETINDENT = (4359), - TVM_SORTCHILDREN = (4371), - TVM_SORTCHILDRENCB = (4373), - TVN_KEYDOWN = -((412)), - TVN_BEGINDRAGW = -((456)), - TVN_BEGINLABELEDITW = -((459)), - TVN_BEGINRDRAGW = -((457)), - TVN_DELETEITEMW = -((458)), - TVN_ENDLABELEDITW = -((460)), - TVN_GETDISPINFOW = -((452)), - TVN_ITEMEXPANDEDW = -((455)), - TVN_ITEMEXPANDINGW = -((454)), - TVN_SELCHANGEDW = -((451)), - TVN_SELCHANGINGW = -((450)), - TVN_SETDISPINFOW = -((453)), - TVN_BEGINDRAGA = -((407)), - TVN_BEGINLABELEDITA = -((410)), - TVN_BEGINRDRAGA = -((408)), - TVN_DELETEITEMA = -((409)), - TVN_ENDLABELEDITA = -((411)), - TVN_GETDISPINFOA = -((403)), - TVN_ITEMEXPANDEDA = -((406)), - TVN_ITEMEXPANDINGA = -((405)), - TVN_SELCHANGEDA = -((402)), - TVN_SELCHANGINGA = -((401)), - TVN_SETDISPINFOA = -((404)), - TVN_BEGINDRAG = (TVN_BEGINDRAGA), - TVN_BEGINLABELEDIT = (TVN_BEGINLABELEDITA), - TVN_BEGINRDRAG = (TVN_BEGINRDRAGA), - TVN_DELETEITEM = (TVN_DELETEITEMA), - TVN_ENDLABELEDIT = (TVN_ENDLABELEDITA), - TVN_GETDISPINFO = (TVN_GETDISPINFOA), - TVN_ITEMEXPANDED = (TVN_ITEMEXPANDEDA), - TVN_ITEMEXPANDING = (TVN_ITEMEXPANDINGA), - TVN_SELCHANGED = (TVN_SELCHANGEDA), - TVN_SELCHANGING = (TVN_SELCHANGINGA), - TVN_SETDISPINFO = (TVN_SETDISPINFOA), - UDM_GETACCEL = (1132), - UDM_GETBASE = (1134), - UDM_GETBUDDY = (1130), - UDM_GETPOS = (1128), - UDM_GETRANGE = (1126), - UDM_SETACCEL = (1131), - UDM_SETBASE = (1133), - UDM_SETBUDDY = (1129), - UDM_SETPOS = (1127), - UDM_SETRANGE = (1125), - UDN_DELTAPOS = -((722)), - WM_ACTIVATE = (6), - WM_ACTIVATEAPP = (28), - WM_ASKCBFORMATNAME = (780), - WM_CANCELJOURNAL = (75), - WM_CANCELMODE = (31), - WM_CAPTURECHANGED = (533), - WM_CHANGECBCHAIN = (781), - WM_CHAR = (258), - WM_CHARTOITEM = (47), - WM_CHILDACTIVATE = (34), - WM_CHOOSEFONT_GETLOGFONT = (1025), - WM_CHOOSEFONT_SETLOGFONT = (1125), - WM_CHOOSEFONT_SETFLAGS = (1126), - WM_CLEAR = (771), - WM_CLOSE = (16), - WM_COMMAND = (273), - WM_COMPACTING = (65), - WM_COMPAREITEM = (57), - WM___FILE__MENU = (123), - WM_COPY = (769), - WM_COPYDATA = (74), - WM_CREATE = (1), - WM_CTLCOLORBTN = (309), - WM_CTLCOLORDLG = (310), - WM_CTLCOLOREDIT = (307), - WM_CTLCOLORLISTBOX = (308), - WM_CTLCOLORMSGBOX = (306), - WM_CTLCOLORSCROLLBAR = (311), - WM_CTLCOLORSTATIC = (312), - WM_CUT = (768), - WM_DEADCHAR = (259), - WM_DELETEITEM = (45), - WM_DESTROY = (2), - WM_DESTROYCLIPBOARD = (775), - WM_DEVICECHANGE = (537), - WM_DEVMODECHANGE = (27), - WM_DISPLAYCHANGE = (126), - WM_DRAWCLIPBOARD = (776), - WM_DRAWITEM = (43), - WM_DROPFILES = (563), - WM_ENABLE = (10), - WM_ENDSESSION = (22), - WM_ENTERIDLE = (289), - WM_ENTERMENULOOP = (529), - WM_ENTERSIZEMOVE = (561), - WM_ERASEBKGND = (20), - WM_EXITMENULOOP = (530), - WM_EXITSIZEMOVE = (562), - WM_FONTCHANGE = (29), - WM_GETDLGCODE = (135), - WM_GETFONT = (49), - WM_GETHOTKEY = (51), - WM_GETICON = (127), - WM_GETMINMAXINFO = (36), - WM_GETTEXT = (13), - WM_GETTEXTLENGTH = (14), - WM_HELP = (83), - WM_HOTKEY = (786), - WM_HSCROLL = (276), - WM_HSCROLLCLIPBOARD = (782), - WM_ICONERASEBKGND = (39), - WM_IME_CHAR = (646), - WM_IME_COMPOSITION = (271), - WM_IME_COMPOSITIONFULL = (644), - WM_IME_CONTROL = (643), - WM_IME_ENDCOMPOSITION = (270), - WM_IME_KEYDOWN = (656), - WM_IME_KEYUP = (657), - WM_IME_NOTIFY = (642), - WM_IME_SELECT = (645), - WM_IME_SET__FILE__ = (641), - WM_IME_STARTCOMPOSITION = (269), - WM_INITDIALOG = (272), - WM_INITMENU = (278), - WM_INITMENUPOPUP = (279), - WM_INPUTLANGCHANGE = (81), - WM_INPUTLANGCHANGEREQUEST = (80), - WM_KEYDOWN = (256), - WM_KEYUP = (257), - WM_KILLFOCUS = (8), - WM_LBUTTONDBLCLK = (515), - WM_LBUTTONDOWN = (513), - WM_LBUTTONUP = (514), - WM_MBUTTONDBLCLK = (521), - WM_MBUTTONDOWN = (519), - WM_MBUTTONUP = (520), - WM_MDIACTIVATE = (546), - WM_MDICASCADE = (551), - WM_MDICREATE = (544), - WM_MDIDESTROY = (545), - WM_MDIGETACTIVE = (553), - WM_MDIICONARRANGE = (552), - WM_MDIMAXIMIZE = (549), - WM_MDINEXT = (548), - WM_MDIREFRESHMENU = (564), - WM_MDIRESTORE = (547), - WM_MDISETMENU = (560), - WM_MDITILE = (550), - WM_MEASUREITEM = (44), - WM_MENUCHAR = (288), - WM_MENUSELECT = (287), - WM_MOUSEACTIVATE = (33), - WM_MOUSEMOVE = (512), - WM_MOUSEWHEEL = 0x020A, - WM_MOVE = (3), - WM_MOVING = (534), - WM_NCACTIVATE = (134), - WM_NCCALCSIZE = (131), - WM_NCCREATE = (129), - WM_NCDESTROY = (130), - WM_NCHITTEST = (132), - WM_NCLBUTTONDBLCLK = (163), - WM_NCLBUTTONDOWN = (161), - WM_NCLBUTTONUP = (162), - WM_NCMBUTTONDBLCLK = (169), - WM_NCMBUTTONDOWN = (167), - WM_NCMBUTTONUP = (168), - WM_NCMOUSEMOVE = (160), - WM_NCPAINT = (133), - WM_NCRBUTTONDBLCLK = (166), - WM_NCRBUTTONDOWN = (164), - WM_NCRBUTTONUP = (165), - WM_NEXTDLGCTL = (40), - WM_NOTIFY = (78), - WM_NOTIFYFORMAT = (85), - WM_NULL = (0), - WM_PAINT = (15), - WM_PAINTCLIPBOARD = (777), - WM_PAINTICON = (38), - WM_PALETTECHANGED = (785), - WM_PALETTEISCHANGING = (784), - WM_PARENTNOTIFY = (528), - WM_PASTE = (770), - WM_PENWINFIRST = (896), - WM_PENWINLAST = (911), - WM_POWER = (72), - WM_POWERBROADCAST = (536), - WM_PRINT = (791), - WM_PRINTCLIENT = (792), - WM_PSD_ENVSTAMPRECT = (1029), - WM_PSD_FULLPAGERECT = (1025), - WM_PSD_GREEKTEXTRECT = (1028), - WM_PSD_MARGINRECT = (1027), - WM_PSD_MINMARGINRECT = (1026), - WM_PSD_PAGESETUPDLG = (1024), - WM_PSD_YAFULLPAGERECT = (1030), - WM_QUERYDRAGICON = (55), - WM_QUERYENDSESSION = (17), - WM_QUERYNEWPALETTE = (783), - WM_QUERYOPEN = (19), - WM_QUEUESYNC = (35), - WM_QUIT = (18), - WM_RBUTTONDBLCLK = (518), - WM_RBUTTONDOWN = (516), - WM_RBUTTONUP = (517), - WM_RENDERALLFORMATS = (774), - WM_RENDERFORMAT = (773), - WM_SETCURSOR = (32), - WM_SETFOCUS = (7), - WM_SETFONT = (48), - WM_SETHOTKEY = (50), - WM_SETICON = (128), - WM_SETREDRAW = (11), - WM_SETTEXT = (12), - WM_SETTINGCHANGE = (26), - WM_SHOWWINDOW = (24), - WM_SIZE = (5), - WM_SIZECLIPBOARD = (779), - WM_SIZING = (532), - WM_SPOOLERSTATUS = (42), - WM_STYLECHANGED = (125), - WM_STYLECHANGING = (124), - WM_SYSCHAR = (262), - WM_SYSCOLORCHANGE = (21), - WM_SYSCOMMAND = (274), - WM_SYSDEADCHAR = (263), - WM_SYSKEYDOWN = (260), - WM_SYSKEYUP = (261), - WM_TCARD = (82), - WM_TIMECHANGE = (30), - WM_TIMER = (275), - WM_UNDO = (772), - WM_USER = (1024), - WM_USERCHANGED = (84), - WM_VKEYTOITEM = (46), - WM_VSCROLL = (277), - WM_VSCROLLCLIPBOARD = (778), - WM_WINDOWPOSCHANGED = (71), - WM_WINDOWPOSCHANGING = (70), - WM_WININICHANGE = (26), - WM_KEYFIRST = (256), - WM_KEYLAST = (264), - WM_MOUSEFIRST = (512), - WM_MOUSELAST = (521), -} -struct VA_LIST -{ -} - - -struct ABC -{ - int abcA; - UINT abcB; - int abcC; -} - -alias ABC* LPABC; -alias ABC _ABC; -alias ABC TABC; -alias ABC* PABC; - -struct ABCFLOAT -{ - FLOAT abcfA; - FLOAT abcfB; - FLOAT abcfC; -} - -alias ABCFLOAT* LPABCFLOAT; -alias ABCFLOAT _ABCFLOAT; -alias ABCFLOAT TABCFLOAT; -alias ABCFLOAT* PABCFLOAT; - -struct ACCEL -{ - ubyte fVirt; - ushort key; - ushort cmd; -} - -alias ACCEL* LPACCEL; -alias ACCEL _ACCEL; -alias ACCEL TACCEL; -alias ACCEL* PACCEL; - -struct ACE_HEADER -{ - ubyte AceType; - ubyte AceFlags; - ushort AceSize; -} - -alias ACE_HEADER _ACE_HEADER; -alias ACE_HEADER TACE_HEADER; -alias ACE_HEADER* PACE_HEADER; -alias DWORD ACCESS_MASK; -alias ACCESS_MASK REGSAM; - -struct ACCESS_ALLOWED_ACE -{ - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD SidStart; -} - -alias ACCESS_ALLOWED_ACE _ACCESS_ALLOWED_ACE; -alias ACCESS_ALLOWED_ACE TACCESS_ALLOWED_ACE; -alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE; - -struct ACCESS_DENIED_ACE -{ - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD SidStart; -} - -alias ACCESS_DENIED_ACE _ACCESS_DENIED_ACE; -alias ACCESS_DENIED_ACE TACCESS_DENIED_ACE; - -struct ACCESSTIMEOUT -{ - UINT cbSize; - DWORD dwFlags; - DWORD iTimeOutMSec; -} - -alias ACCESSTIMEOUT _ACCESSTIMEOUT; -alias ACCESSTIMEOUT TACCESSTIMEOUT; -alias ACCESSTIMEOUT* PACCESSTIMEOUT; - -struct ACL -{ - ubyte AclRevision; - ubyte Sbz1; - ushort AclSize; - ushort AceCount; - ushort Sbz2; -} - -alias ACL* PACL; -alias ACL _ACL; -alias ACL TACL; - -struct ACL_REVISION_INFORMATION -{ - DWORD AclRevision; -} - -alias ACL_REVISION_INFORMATION _ACL_REVISION_INFORMATION; -alias ACL_REVISION_INFORMATION TACLREVISIONINFORMATION; -alias ACL_REVISION_INFORMATION* PACLREVISIONINFORMATION; - -struct ACL_SIZE_INFORMATION -{ - DWORD AceCount; - DWORD AclBytesInUse; - DWORD AclBytesFree; -} - -alias ACL_SIZE_INFORMATION _ACL_SIZE_INFORMATION; -alias ACL_SIZE_INFORMATION TACLSIZEINFORMATION; -alias ACL_SIZE_INFORMATION* PACLSIZEINFORMATION; - -struct ACTION_HEADER -{ - ULONG transport_id; - USHORT action_code; - USHORT reserved; -} - -alias ACTION_HEADER _ACTION_HEADER; -alias ACTION_HEADER TACTIONHEADER; -alias ACTION_HEADER* PACTIONHEADER; - -struct ADAPTER_STATUS -{ - UCHAR[1 + 5] adapter_address; - UCHAR rev_major; - UCHAR reserved0; - UCHAR adapter_type; - UCHAR rev_minor; - ushort duration; - ushort frmr_recv; - ushort frmr_xmit; - ushort iframe_recv_err; - ushort xmit_aborts; - DWORD xmit_success; - DWORD recv_success; - ushort iframe_xmit_err; - ushort recv_buff_unavail; - ushort t1_timeouts; - ushort ti_timeouts; - DWORD reserved1; - ushort free_ncbs; - ushort max_cfg_ncbs; - ushort max_ncbs; - ushort xmit_buf_unavail; - ushort max_dgram_size; - ushort pending_sess; - ushort max_cfg_sess; - ushort max_sess; - ushort max_sess_pkt_size; - ushort name_count; -} - -alias ADAPTER_STATUS _ADAPTER_STATUS; -alias ADAPTER_STATUS TADAPTERSTATUS; -alias ADAPTER_STATUS* PADAPTERSTATUS; - -struct ADDJOB_INFO_1 -{ - LPTSTR Path; - DWORD JobId; -} - -alias ADDJOB_INFO_1 _ADDJOB_INFO_1; -alias ADDJOB_INFO_1 TADDJOB_INFO_1; -alias ADDJOB_INFO_1* PADDJOB_INFO_1; - -struct ANIMATIONINFO -{ - UINT cbSize; - int iMinAnimate; -} - -alias ANIMATIONINFO* LPANIMATIONINFO; -alias ANIMATIONINFO _ANIMATIONINFO; -alias ANIMATIONINFO TANIMATIONINFO; -alias ANIMATIONINFO* PANIMATIONINFO; - -struct RECT -{ - LONG left; - LONG top; - LONG right; - LONG bottom; -} - -alias RECT* LPCRECT; -alias RECT* LPRECT; -alias RECT _RECT; -alias RECT TRECT; -alias RECT* PRECT; - -struct RECTL -{ - LONG left; - LONG top; - LONG right; - LONG bottom; -} - -alias RECTL _RECTL; -alias RECTL TRECTL; -alias RECTL* PRECTL; -alias RECTL* LPRECTL; -alias RECTL* LPCRECTL; - -struct APPBARDATA -{ - DWORD cbSize; - HWND hWnd; - UINT uCallbackMessage; - UINT uEdge; - RECT rc; - LPARAM lParam; -} - -alias APPBARDATA _APPBARDATA; -alias APPBARDATA TAPPBARDATA; -alias APPBARDATA* PAPPBARDATA; - -struct BITMAP -{ - LONG bmType; - LONG bmWidth; - LONG bmHeight; - LONG bmWidthBytes; - ushort bmPlanes; - ushort bmBitsPixel; - LPVOID bmBits; -} - -alias BITMAP* PBITMAP; -alias BITMAP* NPBITMAP; -alias BITMAP* LPBITMAP; -alias BITMAP TAGBITMAP; -alias BITMAP TBITMAP; - -struct BITMAPCOREHEADER -{ - DWORD bcSize; - ushort bcWidth; - ushort bcHeight; - ushort bcPlanes; - ushort bcBitCount; -} - -alias BITMAPCOREHEADER TAGBITMAPCOREHEADER; -alias BITMAPCOREHEADER TBITMAPCOREHEADER; -alias BITMAPCOREHEADER* PBITMAPCOREHEADER; - -struct RGBTRIPLE -{ - ubyte rgbtBlue; - ubyte rgbtGreen; - ubyte rgbtRed; -} - -alias RGBTRIPLE TAGRGBTRIPLE; -alias RGBTRIPLE TRGBTRIPLE; -alias RGBTRIPLE* PRGBTRIPLE; - -struct BITMAPCOREINFO -{ - BITMAPCOREHEADER bmciHeader; - RGBTRIPLE[1 + 0] bmciColors; -} - -alias BITMAPCOREINFO* PBITMAPCOREINFO; -alias BITMAPCOREINFO* LPBITMAPCOREINFO; -alias BITMAPCOREINFO _BITMAPCOREINFO; -alias BITMAPCOREINFO TBITMAPCOREINFO; - -struct BITMAPINFOHEADER -{ - DWORD biSize; - LONG biWidth; - LONG biHeight; - ushort biPlanes; - ushort biBitCount; - DWORD biCompression; - DWORD biSizeImage; - LONG biXPelsPerMeter; - LONG biYPelsPerMeter; - DWORD biClrUsed; - DWORD biClrImportant; -} - -alias BITMAPINFOHEADER* LPBITMAPINFOHEADER; -alias BITMAPINFOHEADER TBITMAPINFOHEADER; -alias BITMAPINFOHEADER* PBITMAPINFOHEADER; - -struct RGBQUAD -{ - ubyte rgbBlue; - ubyte rgbGreen; - ubyte rgbRed; - ubyte rgbReserved; -} - -alias RGBQUAD TAGRGBQUAD; -alias RGBQUAD TRGBQUAD; -alias RGBQUAD* PRGBQUAD; - -struct BITMAPINFO -{ - BITMAPINFOHEADER bmiHeader; - RGBQUAD[1 + 0] bmiColors; -} - -alias BITMAPINFO* LPBITMAPINFO; -alias BITMAPINFO* PBITMAPINFO; -alias BITMAPINFO TBITMAPINFO; -alias int FXPT2DOT30; -alias FXPT2DOT30* LPFXPT2DOT30; -alias FXPT2DOT30 TPFXPT2DOT30; -alias FXPT2DOT30* PPFXPT2DOT30; - -struct CIEXYZ -{ - FXPT2DOT30 ciexyzX; - FXPT2DOT30 ciexyzY; - FXPT2DOT30 ciexyzZ; -} - -alias CIEXYZ TAGCIEXYZ; -alias CIEXYZ* LPCIEXYZ; -alias CIEXYZ TPCIEXYZ; -alias CIEXYZ* PCIEXYZ; - -struct CIEXYZTRIPLE -{ - CIEXYZ ciexyzRed; - CIEXYZ ciexyzGreen; - CIEXYZ ciexyzBlue; -} - -alias CIEXYZTRIPLE TAGCIEXYZTRIPLE; -alias CIEXYZTRIPLE* LPCIEXYZTRIPLE; -alias CIEXYZTRIPLE TCIEXYZTRIPLE; -alias CIEXYZTRIPLE* PCIEXYZTRIPLE; - -struct BITMAPV4HEADER -{ - DWORD bV4Size; - LONG bV4Width; - LONG bV4Height; - ushort bV4Planes; - ushort bV4BitCount; - DWORD bV4V4Compression; - DWORD bV4SizeImage; - LONG bV4XPelsPerMeter; - LONG bV4YPelsPerMeter; - DWORD bV4ClrUsed; - DWORD bV4ClrImportant; - DWORD bV4RedMask; - DWORD bV4GreenMask; - DWORD bV4BlueMask; - DWORD bV4AlphaMask; - DWORD bV4CSType; - CIEXYZTRIPLE bV4Endpoints; - DWORD bV4GammaRed; - DWORD bV4GammaGreen; - DWORD bV4GammaBlue; -} - -alias BITMAPV4HEADER* LPBITMAPV4HEADER; -alias BITMAPV4HEADER TBITMAPV4HEADER; -alias BITMAPV4HEADER* PBITMAPV4HEADER; - -align(1) struct BITMAPFILEHEADER -{ - ushort bfType; - DWORD bfSize; - ushort bfReserved1; - ushort bfReserved2; - DWORD bfOffBits; -} - - -struct BLOB -{ - ULONG cbSize; - ubyte* pBlobData; -} - -alias BLOB _BLOB; -alias BLOB TBLOB; -alias BLOB* PBLOB; - -struct SHITEMID -{ - USHORT cb; - ubyte[1 + 0] abID; -} - -alias SHITEMID* LPSHITEMID; -alias SHITEMID* LPCSHITEMID; -alias SHITEMID _SHITEMID; -alias SHITEMID TSHITEMID; -alias SHITEMID* PSHITEMID; - -struct ITEMIDLIST -{ - SHITEMID mkid; -} - -alias ITEMIDLIST* LPITEMIDLIST; -alias ITEMIDLIST* LPCITEMIDLIST; -alias ITEMIDLIST _ITEMIDLIST; -alias ITEMIDLIST TITEMIDLIST; -alias ITEMIDLIST* PITEMIDLIST; - -struct BROWSEINFOA -{ - HWND hwndOwner; - LPCITEMIDLIST pidlRoot; - LPSTR pszDisplayName; - LPCSTR lpszTitle; - UINT ulFlags; - BFFCALLBACK lpfn; - LPARAM lParam; - int iImage; -} -struct BROWSEINFOW -{ - HWND hwndOwner; - LPCITEMIDLIST pidlRoot; - LPWSTR pszDisplayName; - LPCWSTR lpszTitle; - UINT ulFlags; - BFFCALLBACK lpfn; - LPARAM lParam; - int iImage; -} -version( Win32SansUnicode ) -{ - alias BROWSEINFOA BROWSEINFO; -} -else -{ - alias BROWSEINFOW BROWSEINFO; -} -alias BROWSEINFO* PBROWSEINFO, LPBROWSEINFO; - -struct FILETIME -{ - DWORD dwLowDateTime; - DWORD dwHighDateTime; -} - -alias FILETIME* LPFILETIME; -alias FILETIME _FILETIME; -alias FILETIME TFILETIME; -alias FILETIME* PFILETIME; - -struct BY_HANDLE_FILE_INFORMATION -{ - DWORD dwFileAttributes; - FILETIME ftCreationTime; - FILETIME ftLastAccessTime; - FILETIME ftLastWriteTime; - DWORD dwVolumeSerialNumber; - DWORD nFileSizeHigh; - DWORD nFileSizeLow; - DWORD nNumberOfLinks; - DWORD nFileIndexHigh; - DWORD nFileIndexLow; -} - -alias BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION; -alias BY_HANDLE_FILE_INFORMATION _BY_HANDLE_FILE_INFORMATION; -alias BY_HANDLE_FILE_INFORMATION TBYHANDLEFILEINFORMATION; -alias BY_HANDLE_FILE_INFORMATION* PBYHANDLEFILEINFORMATION; - -struct FIXED -{ - ushort fract; - int value; -} - -alias FIXED _FIXED; -alias FIXED TFIXED; -alias FIXED* PFIXED; - -struct POINT -{ - LONG x; - LONG y; -} - -alias POINT* LPPOINT; -alias POINT TAGPOINT; -alias POINT TPOINT; -alias POINT* PPOINT; - -struct POINTFX -{ - FIXED x; - FIXED y; -} - -alias POINTFX TAGPOINTFX; -alias POINTFX TPOINTFX; -alias POINTFX* PPOINTFX; - -struct POINTL -{ - LONG x; - LONG y; -} - -alias POINTL _POINTL; -alias POINTL TPOINTL; -alias POINTL* PPOINTL; - -struct TSMALLPOINT -{ - byte X, Y; -} - - -struct POINTS -{ - SHORT x; - SHORT y; -} - -alias POINTS TAGPOINTS; -alias POINTS TPOINTS; -alias POINTS* PPOINTS; - -struct CANDIDATEFORM -{ - DWORD dwIndex; - DWORD dwStyle; - POINT ptCurrentPos; - RECT rcArea; -} - -alias CANDIDATEFORM* LPCANDIDATEFORM; -alias CANDIDATEFORM _TAGCANDIDATEFORM; -alias CANDIDATEFORM TCANDIDATEFORM; -alias CANDIDATEFORM* PCANDIDATEFORM; - -struct CANDIDATELIST -{ - DWORD dwSize; - DWORD dwStyle; - DWORD dwCount; - DWORD dwSelection; - DWORD dwPageStart; - DWORD dwPageSize; - DWORD[1 + 0] dwOffset; -} - -alias CANDIDATELIST* LPCANDIDATELIST; -alias CANDIDATELIST _TAGCANDIDATELIST; -alias CANDIDATELIST TCANDIDATELIST; -alias CANDIDATELIST* PCANDIDATELIST; - -struct CREATESTRUCT -{ - LPVOID lpCreateParams; - HINST hInstance; - HMENU hMenu; - HWND hwndParent; - int cy; - int cx; - int y; - int x; - LONG style; - LPCTSTR lpszName; - LPCTSTR lpszClass; - DWORD dwExStyle; -} - -alias CREATESTRUCT* LPCREATESTRUCT; -alias CREATESTRUCT TAGCREATESTRUCT; -alias CREATESTRUCT TCREATESTRUCT; -alias CREATESTRUCT* PCREATESTRUCT; - -struct CBT_CREATEWND -{ - LPCREATESTRUCT lpcs; - HWND hwndInsertAfter; -} - -alias CBT_CREATEWND TAGCBT_CREATEWND; -alias CBT_CREATEWND TCBT_CREATEWND; -alias CBT_CREATEWND* PCBT_CREATEWND; - -struct CBTACTIVATESTRUCT -{ - WINBOOL fMouse; - HWND hWndActive; -} - -alias CBTACTIVATESTRUCT TAGCBTACTIVATESTRUCT; -alias CBTACTIVATESTRUCT TCBTACTIVATESTRUCT; -alias CBTACTIVATESTRUCT* PCBTACTIVATESTRUCT; - -struct CHAR_INFO -{ - - union - { - struct - { - WCHAR UnicodeChar; - ushort Attributes; - } - struct - { - char AsciiChar; - } - } -} - -alias CHAR_INFO _CHAR_INFO; -alias CHAR_INFO TCHAR_INFO; -alias CHAR_INFO* PCHAR_INFO; - -struct CHARFORMAT -{ - UINT cbSize; - DWORD dwMask; - DWORD dwEffects; - LONG yHeight; - LONG yOffset; - COLORREF crTextColor; - ubyte bCharSet; - ubyte bPitchAndFamily; - TCHAR[1 + LF_FACESIZE-1] szFaceName; -} - -alias CHARFORMAT _CHARFORMAT; -alias CHARFORMAT TCHARFORMAT; -alias CHARFORMAT* PCHARFORMAT; - -struct CHARRANGE -{ - LONG cpMin; - LONG cpMax; -} - -alias CHARRANGE _CHARRANGE; -alias CHARRANGE TCHARRANGE; -alias CHARRANGE* PCHARRANGE; - -struct CHARSET -{ - DWORD[1 + 2] aflBlock; - DWORD flLang; -} - -alias CHARSET TAGCHARSET; -alias CHARSET TCHARSET; -alias CHARSET* PCHARSET; - -struct FONTSIGNATURE -{ - DWORD[1 + 3] fsUsb; - DWORD[1 + 1] fsCsb; -} - -alias FONTSIGNATURE* LPFONTSIGNATURE; -alias FONTSIGNATURE TAGFONTSIGNATURE; -alias FONTSIGNATURE TFONTSIGNATURE; -alias FONTSIGNATURE* PFONTSIGNATURE; - -struct CHARSETINFO -{ - UINT ciCharset; - UINT ciACP; - FONTSIGNATURE fs; -} - -alias CHARSETINFO* LPCHARSETINFO; -alias CHARSETINFO TCHARSETINFO; -alias CHARSETINFO* PCHARSETINFO; - -struct CHOOSECOLORA { - DWORD lStructSize; - HWND hwndOwner; - HWND hInstance; - COLORREF rgbResult; - COLORREF* lpCustColors; - DWORD Flags; - LPARAM lCustData; - LPCCHOOKPROC lpfnHook; - LPCSTR lpTemplateName; -} -alias CHOOSECOLORA* PCHOOSECOLORA, LPCHOOSECOLORA; -struct CHOOSECOLORW { - DWORD lStructSize; - HWND hwndOwner; - HWND hInstance; - COLORREF rgbResult; - COLORREF* lpCustColors; - DWORD Flags; - LPARAM lCustData; - LPCCHOOKPROC lpfnHook; - LPCWSTR lpTemplateName; -} -alias CHOOSECOLORW* PCHOOSECOLORW, LPCHOOSECOLORW; -version(Win32SansUnicode) -{ - alias CHOOSECOLORA CHOOSECOLOR; -} -else -{ - alias CHOOSECOLORW CHOOSECOLOR; -} -alias CHOOSECOLOR* PCHOOSECOLOR, LPCHOOSECOLOR; - -struct LOGFONTA -{ - LONG lfHeight; - LONG lfWidth; - LONG lfEscapement; - LONG lfOrientation; - LONG lfWeight; - ubyte lfItalic; - ubyte lfUnderline; - ubyte lfStrikeOut; - ubyte lfCharSet; - ubyte lfOutPrecision; - ubyte lfClipPrecision; - ubyte lfQuality; - ubyte lfPitchAndFamily; - ubyte[1 + LF_FACESIZE-1] lfFaceName; -} - -alias LOGFONTA TLOGFONTA; -alias LOGFONTA* PLOGFONTA; -alias LOGFONTA* LPLOGFONTA; - -struct LOGFONTW -{ - LONG lfHeight; - LONG lfWidth; - LONG lfEscapement; - LONG lfOrientation; - LONG lfWeight; - ubyte lfItalic; - ubyte lfUnderline; - ubyte lfStrikeOut; - ubyte lfCharSet; - ubyte lfOutPrecision; - ubyte lfClipPrecision; - ubyte lfQuality; - ubyte lfPitchAndFamily; - WCHAR lfFaceName[LF_FACESIZE]; -}; - -alias LOGFONTW TLOGFONTW; -alias LOGFONTW* LPLOGFONTW; -alias LOGFONTW* PLOGFONTW; - -version( Win32SansUnicode ){ - alias LOGFONTA LOGFONT; - alias LOGFONTA TLOGFONT; - alias LOGFONTA* PLOGFONT; - alias LOGFONTA* LPLOGFONT; -} -else{ - alias LOGFONTW LOGFONT; - alias LOGFONTW TLOGFONT; - alias LOGFONTW* PLOGFONT; - alias LOGFONTW* LPLOGFONT; -} - -struct TCHOOSEFONT -{ - DWORD lStructSize; - HWND hwndOwner; - HDC hDC; - LPLOGFONT lpLogFont; - INT iPointSize; - DWORD Flags; - DWORD rgbColors; - LPARAM lCustData; - LPCFHOOKPROC lpfnHook; - LPCTSTR lpTemplateName; - HINST hInstance; - LPTSTR lpszStyle; - ushort nFontType; - ushort ___MISSING_ALIGNMENT__; - INT nSizeMin; - INT nSizeMax; -} - -alias TCHOOSEFONT* LPCHOOSEFONT; -alias TCHOOSEFONT* PCHOOSEFONT; - -struct CIDA -{ - UINT cidl; - UINT[1 + 0] aoffset; -} - -alias CIDA* LPIDA; -alias CIDA _IDA; -alias CIDA TIDA; -alias CIDA* PIDA; - -struct CLIENTCREATESTRUCT -{ - HANDLE hWindowMenu; - UINT idFirstChild; -} - -alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; -alias CLIENTCREATESTRUCT TAGCLIENTCREATESTRUCT; -alias CLIENTCREATESTRUCT TCLIENTCREATESTRUCT; -alias CLIENTCREATESTRUCT* PCLIENTCREATESTRUCT; - -struct CMINVOKECOMMANDINFO -{ - DWORD cbSize; - DWORD fMask; - HWND hwnd; - LPCSTR lpVerb; - LPCSTR lpParameters; - LPCSTR lpDirectory; - int nShow; - DWORD dwHotKey; - HANDLE hIcon; -} - -alias CMINVOKECOMMANDINFO* LPCMINVOKECOMMANDINFO; -alias CMINVOKECOMMANDINFO _CMINVOKECOMMANDINFO; -alias CMINVOKECOMMANDINFO TCMINVOKECOMMANDINFO; -alias CMINVOKECOMMANDINFO* PCMINVOKECOMMANDINFO; - -struct COLORADJUSTMENT -{ - ushort caSize; - ushort caFlags; - ushort caIlluminantIndex; - ushort caRedGamma; - ushort caGreenGamma; - ushort caBlueGamma; - ushort caReferenceBlack; - ushort caReferenceWhite; - SHORT caContrast; - SHORT caBrightness; - SHORT caColorfulness; - SHORT caRedGreenTint; -} - -alias COLORADJUSTMENT* LPCOLORADJUSTMENT; -alias COLORADJUSTMENT TAGCOLORADJUSTMENT; -alias COLORADJUSTMENT TCOLORADJUSTMENT; -alias COLORADJUSTMENT* PCOLORADJUSTMENT; - -struct COLORMAP -{ - COLORREF from; - COLORREF _to; -} - -alias COLORMAP* LPCOLORMAP; -alias COLORMAP _COLORMAP; -alias COLORMAP TCOLORMAP; -alias COLORMAP* PCOLORMAP; - -struct DCB -{ - DWORD DCBlength; - DWORD BaudRate; - int flag0; - ushort wReserved; - ushort XonLim; - ushort XoffLim; - ubyte ByteSize; - ubyte Parity; - ubyte StopBits; - char XonChar; - char XoffChar; - char ErrorChar; - char EofChar; - char EvtChar; - ushort wReserved1; -} - -alias DCB* LPDCB; -alias DCB _DCB; -alias DCB TDCB; -alias DCB* PDCB; -enum : DWORD { - bm_DCB_fBinary = (0x1), - bp_DCB_fBinary = (0), - bm_DCB_fParity = (0x2), - bp_DCB_fParity = (1), - bm_DCB_fOutxCtsFlow = (0x4), - bp_DCB_fOutxCtsFlow = (2), - bm_DCB_fOutxDsrFlow = (0x8), - bp_DCB_fOutxDsrFlow = (3), - bm_DCB_fDtrControl = (0x30), - bp_DCB_fDtrControl = (4), - bm_DCB_fDsrSensitivity = (0x40), - bp_DCB_fDsrSensitivity = (6), - bm_DCB_fTXContinueOnXoff = (0x80), - bp_DCB_fTXContinueOnXoff = (7), - bm_DCB_fOutX = (0x100), - bp_DCB_fOutX = (8), - bm_DCB_fInX = (0x200), - bp_DCB_fInX = (9), - bm_DCB_fErrorChar = (0x400), - bp_DCB_fErrorChar = (10), - bm_DCB_fNull = (0x800), - bp_DCB_fNull = (11), - bm_DCB_fRtsControl = (0x3000), - bp_DCB_fRtsControl = (12), - bm_DCB_fAbortOnError = (0x4000), - bp_DCB_fAbortOnError = (14), - bm_DCB_fDummy2 = (0xFFFF8000), - bp_DCB_fDummy2 = (15), -} - -struct COMMCONFIG -{ - DWORD dwSize; - ushort wVersion; - ushort wReserved; - DCB dcb; - DWORD dwProviderSubType; - DWORD dwProviderOffset; - DWORD dwProviderSize; - WCHAR[1 + 0] wcProviderData; -} - -alias COMMCONFIG* LPCOMMCONFIG; -alias COMMCONFIG _COMM_CONFIG; -alias COMMCONFIG TCOMMCONFIG; -alias COMMCONFIG* PCOMMCONFIG; - -struct COMMPROP -{ - ushort wPacketLength; - ushort wPacketVersion; - DWORD dwServiceMask; - DWORD dwReserved1; - DWORD dwMaxTxQueue; - DWORD dwMaxRxQueue; - DWORD dwMaxBaud; - DWORD dwProvSubType; - DWORD dwProvCapabilities; - DWORD dwSettableParams; - DWORD dwSettableBaud; - ushort wSettableData; - ushort wSettableStopParity; - DWORD dwCurrentTxQueue; - DWORD dwCurrentRxQueue; - DWORD dwProvSpec1; - DWORD dwProvSpec2; - WCHAR[1 + 0] wcProvChar; -} - -alias COMMPROP* LPCOMMPROP; -alias COMMPROP _COMMPROP; -alias COMMPROP TCOMMPROP; -alias COMMPROP* PCOMMPROP; - -struct COMMTIMEOUTS -{ - DWORD ReadIntervalTimeout; - DWORD ReadTotalTimeoutMultiplier; - DWORD ReadTotalTimeoutConstant; - DWORD WriteTotalTimeoutMultiplier; - DWORD WriteTotalTimeoutConstant; -} - -alias COMMTIMEOUTS* LPCOMMTIMEOUTS; -alias COMMTIMEOUTS _COMMTIMEOUTS; -alias COMMTIMEOUTS TCOMMTIMEOUTS; -alias COMMTIMEOUTS* PCOMMTIMEOUTS; - -struct COMPAREITEMSTRUCT -{ - UINT CtlType; - UINT CtlID; - HWND hwndItem; - UINT itemID1; - DWORD itemData1; - UINT itemID2; - DWORD itemData2; -} - -alias COMPAREITEMSTRUCT TAGCOMPAREITEMSTRUCT; -alias COMPAREITEMSTRUCT TCOMPAREITEMSTRUCT; -alias COMPAREITEMSTRUCT* PCOMPAREITEMSTRUCT; - -struct COMPCOLOR -{ - COLORREF crText; - COLORREF crBackground; - DWORD dwEffects; -} - -alias COMPCOLOR TCOMPCOLOR; -alias COMPCOLOR* PCOMPCOLOR; - -struct COMPOSITIONFORM -{ - DWORD dwStyle; - POINT ptCurrentPos; - RECT rcArea; -} - -alias COMPOSITIONFORM* LPCOMPOSITIONFORM; -alias COMPOSITIONFORM _TAGCOMPOSITIONFORM; -alias COMPOSITIONFORM TCOMPOSITIONFORM; -alias COMPOSITIONFORM* PCOMPOSITIONFORM; - -struct COMSTAT -{ - int flag0; - DWORD cbInQue; - DWORD cbOutQue; -} - -alias COMSTAT* LPCOMSTAT; -alias COMSTAT _COMSTAT; -alias COMSTAT TCOMSTAT; -alias COMSTAT* PCOMSTAT; -enum : DWORD { - bm_COMSTAT_fCtsHold = (0x1), - bp_COMSTAT_fCtsHold = (0), - bm_COMSTAT_fDsrHold = (0x2), - bp_COMSTAT_fDsrHold = (1), - bm_COMSTAT_fRlsdHold = (0x4), - bp_COMSTAT_fRlsdHold = (2), - bm_COMSTAT_fXoffHold = (0x8), - bp_COMSTAT_fXoffHold = (3), - bm_COMSTAT_fXoffSent = (0x10), - bp_COMSTAT_fXoffSent = (4), - bm_COMSTAT_fEof = (0x20), - bp_COMSTAT_fEof = (5), - bm_COMSTAT_fTxim = (0x40), - bp_COMSTAT_fTxim = (6), - bm_COMSTAT_fReserved = (0xFFFFFF80), - bp_COMSTAT_fReserved = (7), -} -struct CONSOLE_CURSOR_INFO -{ - DWORD dwSize; - WINBOOL bVisible; -} - -alias CONSOLE_CURSOR_INFO* PCONSOLE_CURSOR_INFO; -alias CONSOLE_CURSOR_INFO _CONSOLE_CURSOR_INFO; -alias CONSOLE_CURSOR_INFO TCONSOLECURSORINFO; -alias CONSOLE_CURSOR_INFO* PCONSOLECURSORINFO; -alias CONSOLE_CURSOR_INFO TCURSORINFO; - -struct COORD -{ - SHORT X; - SHORT Y; -} - -alias COORD _COORD; -alias COORD TCOORD; -alias COORD* PCOORD; - -struct SMALL_RECT -{ - SHORT Left; - SHORT Top; - SHORT Right; - SHORT Bottom; -} - -alias SMALL_RECT _SMALL_RECT; -alias SMALL_RECT TSMALL_RECT; -alias SMALL_RECT* PSMALL_RECT; - -align(1) struct CONSOLE_SCREEN_BUFFER_INFO -{ - COORD dwSize; - COORD dwCursorPosition; - ushort wAttributes; - SMALL_RECT srWindow; - COORD dwMaximumWindowSize; -} - -alias CONSOLE_SCREEN_BUFFER_INFO* PCONSOLE_SCREEN_BUFFER_INFO; -alias CONSOLE_SCREEN_BUFFER_INFO _CONSOLE_SCREEN_BUFFER_INFO; -alias CONSOLE_SCREEN_BUFFER_INFO TCONSOLESCREENBUFFERINFO; -alias CONSOLE_SCREEN_BUFFER_INFO* PCONSOLESCREENBUFFERINFO; - -struct FLOATING_SAVE_AREA -{ - DWORD ControlWord; - DWORD StatusWord; - DWORD TagWord; - DWORD ErrorOffset; - DWORD ErrorSelector; - DWORD DataOffset; - DWORD DataSelector; - ubyte[1 + 79] RegisterArea; - DWORD Cr0NpxState; -} - -alias FLOATING_SAVE_AREA _FLOATING_SAVE_AREA; -alias FLOATING_SAVE_AREA TFLOATINGSAVEAREA; -alias FLOATING_SAVE_AREA* PFLOATINGSAVEAREA; - -enum : DWORD -{ -// -// The following flags control the contents of the CONTEXT structure. -// - CONTEXT_i386 = 0x00010000, // this assumes that i386 and - CONTEXT_i486 = 0x00010000, // i486 have identical context records - - CONTEXT_CONTROL = (CONTEXT_i386 | 0x00000001), // SS:SP, CS:IP, FLAGS, BP - CONTEXT_INTEGER = (CONTEXT_i386 | 0x00000002), // AX, BX, CX, DX, SI, DI - CONTEXT_SEGMENTS = (CONTEXT_i386 | 0x00000004), // DS, ES, FS, GS - CONTEXT_FLOATING_POINT = (CONTEXT_i386 | 0x00000008), // 387 state - CONTEXT_DEBUG_REGISTERS = (CONTEXT_i386 | 0x00000010), // DB 0-3,6,7 - - CONTEXT_FULL = (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS), -} - -struct CONTEXT -{ - DWORD ContextFlags; - DWORD Dr0; - DWORD Dr1; - DWORD Dr2; - DWORD Dr3; - DWORD Dr6; - DWORD Dr7; - FLOATING_SAVE_AREA FloatSave; - DWORD SegGs; - DWORD SegFs; - DWORD SegEs; - DWORD SegDs; - DWORD Edi; - DWORD Esi; - DWORD Ebx; - DWORD Edx; - DWORD Ecx; - DWORD Eax; - DWORD Ebp; - DWORD Eip; - DWORD SegCs; - DWORD EFlags; - DWORD Esp; - DWORD SegSs; -} - -alias CONTEXT* LPCONTEXT; -alias CONTEXT _CONTEXT; -alias CONTEXT TCONTEXT; -alias CONTEXT* PCONTEXT; - -struct LIST_ENTRY -{ - _LIST_ENTRY* Flink; - _LIST_ENTRY* Blink; -} - -alias LIST_ENTRY _LIST_ENTRY; -alias LIST_ENTRY TLISTENTRY; -alias LIST_ENTRY* PLISTENTRY; - -struct CRITICAL_SECTION_DEBUG -{ - ushort _Type; - ushort CreatorBackTraceIndex; - _CRITICAL_SECTION* CriticalSection; - LIST_ENTRY ProcessLocksList; - DWORD EntryCount; - DWORD ContentionCount; - DWORD Depth; - PVOID[1 + 4] OwnerBackTrace; -} - -alias CRITICAL_SECTION_DEBUG* LPCRITICAL_SECTION_DEBUG; -alias CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG; -alias CRITICAL_SECTION_DEBUG _CRITICAL_SECTION_DEBUG; -alias CRITICAL_SECTION_DEBUG TCRITICALSECTIONDEBUG; -alias CRITICAL_SECTION_DEBUG* PCRITICALSECTIONDEBUG; - -struct CRITICAL_SECTION -{ - PCRITICAL_SECTION_DEBUG DebugInfo; - LONG LockCount; - LONG RecursionCount; - HANDLE OwningThread; - HANDLE LockSemaphore; - DWORD Reserved; -} - -alias CRITICAL_SECTION* LPCRITICAL_SECTION; -alias CRITICAL_SECTION* PCRITICAL_SECTION; -alias CRITICAL_SECTION _CRITICAL_SECTION; -alias CRITICAL_SECTION TCRITICALSECTION; -alias CRITICAL_SECTION* PCRITICALSECTION; - -struct SECURITY_QUALITY_OF_SERVICE -{ - DWORD Length; - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; - WINBOOL ContextTrackingMode; - ubyte EffectiveOnly; -} - -alias SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE; -alias SECURITY_QUALITY_OF_SERVICE _SECURITY_QUALITY_OF_SERVICE; -alias SECURITY_QUALITY_OF_SERVICE TSECURITYQUALITYOFSERVICE; -alias SECURITY_QUALITY_OF_SERVICE* PSECURITYQUALITYOFSERVICE; - -struct CONVCONTEXT -{ - UINT cb; - UINT wFlags; - UINT wCountryID; - int iCodePage; - DWORD dwLangID; - DWORD dwSecurity; - SECURITY_QUALITY_OF_SERVICE qos; -} - -alias CONVCONTEXT TAGCONVCONTEXT; -alias CONVCONTEXT TCONVCONTEXT; -alias CONVCONTEXT* PCONVCONTEXT; - -struct CONVINFO -{ - DWORD cb; - DWORD hUser; - HCONV hConvPartner; - HSZ hszSvcPartner; - HSZ hszServiceReq; - HSZ hszTopic; - HSZ hszItem; - UINT wFmt; - UINT wType; - UINT wStatus; - UINT wConvst; - UINT wLastError; - HCONVLIST hConvList; - CONVCONTEXT ConvCtxt; - HWND _hwnd; - HWND hwndPartner; -} - -alias CONVINFO TAGCONVINFO; -alias CONVINFO TCONVINFO; -alias CONVINFO* PCONVINFO; - -struct COPYDATASTRUCT -{ - DWORD dwData; - DWORD cbData; - PVOID lpData; -} - -alias COPYDATASTRUCT TAGCOPYDATASTRUCT; -alias COPYDATASTRUCT TCOPYDATASTRUCT; -alias COPYDATASTRUCT* PCOPYDATASTRUCT; - -struct CPINFO -{ - UINT MaxCharSize; - ubyte[1 + MAX_DEFAULTCHAR-1] DefaultChar; - ubyte[1 + MAX_LEADBYTES-1] LeadByte; -} - -alias CPINFO* LPCPINFO; -alias CPINFO _CPINFO; -alias CPINFO TCPINFO; -alias CPINFO* PCPINFO; - -struct CPLINFO -{ - int idIcon; - int idName; - int idInfo; - LONG lData; -} - -alias CPLINFO TAGCPLINFO; -alias CPLINFO TCPLINFO; -alias CPLINFO* PCPLINFO; - -struct CREATE_PROCESS_DEBUG_INFO -{ - HANDLE hFile; - HANDLE hProcess; - HANDLE hThread; - LPVOID lpBaseOfImage; - DWORD dwDebugInfoFileOffset; - DWORD nDebugInfoSize; - LPVOID lpThreadLocalBase; - LPTHREAD_START_ROUTINE lpStartAddress; - LPVOID lpImageName; - ushort fUnicode; -} - -alias CREATE_PROCESS_DEBUG_INFO _CREATE_PROCESS_DEBUG_INFO; -alias CREATE_PROCESS_DEBUG_INFO TCREATEPROCESSDEBUGINFO; -alias CREATE_PROCESS_DEBUG_INFO* PCREATEPROCESSDEBUGINFO; - -struct CREATE_THREAD_DEBUG_INFO -{ - HANDLE hThread; - LPVOID lpThreadLocalBase; - LPTHREAD_START_ROUTINE lpStartAddress; -} - -alias CREATE_THREAD_DEBUG_INFO _CREATE_THREAD_DEBUG_INFO; -alias CREATE_THREAD_DEBUG_INFO TCREATETHREADDEBUGINFO; -alias CREATE_THREAD_DEBUG_INFO* PCREATETHREADDEBUGINFO; - -struct CURRENCYFMT -{ - UINT NumDigits; - UINT LeadingZero; - UINT Grouping; - LPTSTR lpDecimalSep; - LPTSTR lpThousandSep; - UINT NegativeOrder; - UINT PositiveOrder; - LPTSTR lpCurrencySymbol; -} - -alias CURRENCYFMT _CURRENCYFMT; -alias CURRENCYFMT TCURRENCYFMT; -alias CURRENCYFMT* PCURRENCYFMT; - -struct CURSORSHAPE -{ - int xHotSpot; - int yHotSpot; - int cx; - int cy; - int cbWidth; - ubyte Planes; - ubyte BitsPixel; -} - -alias CURSORSHAPE* LPCURSORSHAPE; -alias CURSORSHAPE TAGCURSORSHAPE; -alias CURSORSHAPE TCURSORSHAPE; -alias CURSORSHAPE* PCURSORSHAPE; - -struct CWPRETSTRUCT -{ - LRESULT lResult; - LPARAM lParam; - WPARAM wParam; - DWORD message; - HWND hwnd; -} - -alias CWPRETSTRUCT TAGCWPRETSTRUCT; -alias CWPRETSTRUCT TCWPRETSTRUCT; -alias CWPRETSTRUCT* PCWPRETSTRUCT; - -struct CWPSTRUCT -{ - LPARAM lParam; - WPARAM wParam; - UINT message; - HWND hwnd; -} - -alias CWPSTRUCT TAGCWPSTRUCT; -alias CWPSTRUCT TCWPSTRUCT; -alias CWPSTRUCT* PCWPSTRUCT; - -struct DATATYPES_INFO_1 -{ - LPTSTR pName; -} - -alias DATATYPES_INFO_1 _DATATYPES_INFO_1; -alias DATATYPES_INFO_1 TDATATYPESINFO1; -alias DATATYPES_INFO_1* PDATATYPESINFO1; - -struct DDEACK -{ - ushort flag0; -} - -alias DDEACK TDDEACK; -alias DDEACK* PDDEACK; -enum : DWORD { - bm_DDEACK_bAppReturnCode = (0xFF), - bp_DDEACK_bAppReturnCode = (0), - bm_DDEACK_reserved = (0x3F00), - bp_DDEACK_reserved = (8), - bm_DDEACK_fBusy = (0x4000), - bp_DDEACK_fBusy = (14), - bm_DDEACK_fAck = (0x8000), - bp_DDEACK_fAck = (15), -} - -struct DDEADVISE -{ - ushort flag0; - int cfFormat; -} - -alias DDEADVISE TDDEADVISE; -alias DDEADVISE* PDDEADVISE; -enum : DWORD { - bm_DDEADVISE_reserved = (0x3FFF), - bp_DDEADVISE_reserved = (0), - bm_DDEADVISE_fDeferUpd = (0x4000), - bp_DDEADVISE_fDeferUpd = (14), - bm_DDEADVISE_fAckReq = (0x8000), - bp_DDEADVISE_fAckReq = (15), -} - -struct DDEDATA -{ - ushort flag0; - int cfFormat; - ubyte[1 + 0] Value; -} - -alias DDEDATA* PDDEDATA; -enum : DWORD { - bm_DDEDATA_unused = (0xFFF), - bp_DDEDATA_unused = (0), - bm_DDEDATA_fResponse = (0x1000), - bp_DDEDATA_fResponse = (12), - bm_DDEDATA_fRelease = (0x2000), - bp_DDEDATA_fRelease = (13), - bm_DDEDATA_reserved = (0x4000), - bp_DDEDATA_reserved = (14), - bm_DDEDATA_fAckReq = (0x8000), - bp_DDEDATA_fAckReq = (15), -} - -struct DDELN -{ - ushort flag0; - int cfFormat; -} - -alias DDELN TDDELN; -alias DDELN* PDDELN; -enum : DWORD { - bm_DDELN_unused = (0x1FFF), - bp_DDELN_unused = (0), - bm_DDELN_fRelease = (0x2000), - bp_DDELN_fRelease = (13), - bm_DDELN_fDeferUpd = (0x4000), - bp_DDELN_fDeferUpd = (14), - bm_DDELN_fAckReq = (0x8000), - bp_DDELN_fAckReq = (15), -} - -struct DDEML_MSG_HOOK_DATA -{ - UINT uiLo; - UINT uiHi; - DWORD cbData; - DWORD[1 + 7] Data; -} - -alias DDEML_MSG_HOOK_DATA TAGDDEML_MSG_HOOK_DATA; -alias DDEML_MSG_HOOK_DATA TDDEMLMSGHOOKDATA; -alias DDEML_MSG_HOOK_DATA* PDDEMLMSGHOOKDATA; - -struct DDEPOKE -{ - ushort flag0; - int cfFormat; - ubyte[1 + 0] Value; -} - -alias DDEPOKE TDDEPOKE; -alias DDEPOKE* PDDEPOKE; -enum : DWORD { - bm_DDEPOKE_unused = (0x1FFF), - bp_DDEPOKE_unused = (0), - bm_DDEPOKE_fRelease = (0x2000), - bp_DDEPOKE_fRelease = (13), - bm_DDEPOKE_fReserved = (0xC000), - bp_DDEPOKE_fReserved = (14), -} -struct DDEUP -{ - ushort flag0; - int cfFormat; - ubyte[1 + 0] rgb; -} - -alias DDEUP TDDEUP; -alias DDEUP* PDDEUP; - -enum : DWORD { - bm_DDEUP_unused = (0xFFF), - bp_DDEUP_unused = (0), - bm_DDEUP_fAck = (0x1000), - bp_DDEUP_fAck = (12), - bm_DDEUP_fRelease = (0x2000), - bp_DDEUP_fRelease = (13), - bm_DDEUP_fReserved = (0x4000), - bp_DDEUP_fReserved = (14), - bm_DDEUP_fAckReq = (0x8000), - bp_DDEUP_fAckReq = (15), -} - -struct EXCEPTION_RECORD -{ - DWORD ExceptionCode; - DWORD ExceptionFlags; - _EXCEPTION_RECORD* ExceptionRecord; - PVOID ExceptionAddress; - DWORD NumberParameters; - DWORD[1 + EXCEPTION_MAXIMUM_PARAMETERS-1] ExceptionInformation; -} - -alias EXCEPTION_RECORD* PEXCEPTION_RECORD; -alias EXCEPTION_RECORD _EXCEPTION_RECORD; -alias EXCEPTION_RECORD TEXCEPTIONRECORD; -alias EXCEPTION_RECORD* PEXCEPTIONRECORD; - -struct EXCEPTION_DEBUG_INFO -{ - EXCEPTION_RECORD ExceptionRecord; - DWORD dwFirstChance; -} - -alias EXCEPTION_DEBUG_INFO* PEXCEPTION_DEBUG_INFO; -alias EXCEPTION_DEBUG_INFO _EXCEPTION_DEBUG_INFO; -alias EXCEPTION_DEBUG_INFO TEXCEPTIONDEBUGINFO; -alias EXCEPTION_DEBUG_INFO* PEXCEPTIONDEBUGINFO; - -struct EXIT_PROCESS_DEBUG_INFO -{ - DWORD dwExitCode; -} - -alias EXIT_PROCESS_DEBUG_INFO _EXIT_PROCESS_DEBUG_INFO; -alias EXIT_PROCESS_DEBUG_INFO TEXITPROCESSDEBUGINFO; -alias EXIT_PROCESS_DEBUG_INFO* PEXITPROCESSDEBUGINFO; - -struct EXIT_THREAD_DEBUG_INFO -{ - DWORD dwExitCode; -} - -alias EXIT_THREAD_DEBUG_INFO _EXIT_THREAD_DEBUG_INFO; -alias EXIT_THREAD_DEBUG_INFO TEXITTHREADDEBUGINFO; -alias EXIT_THREAD_DEBUG_INFO* PEXITTHREADDEBUGINFO; - -struct LOAD_DLL_DEBUG_INFO -{ - HANDLE hFile; - LPVOID lpBaseOfDll; - DWORD dwDebugInfoFileOffset; - DWORD nDebugInfoSize; - LPVOID lpImageName; - ushort fUnicode; -} - -alias LOAD_DLL_DEBUG_INFO _LOAD_DLL_DEBUG_INFO; -alias LOAD_DLL_DEBUG_INFO TLOADDLLDEBUGINFO; -alias LOAD_DLL_DEBUG_INFO* PLOADDLLDEBUGINFO; - -struct UNLOAD_DLL_DEBUG_INFO -{ - LPVOID lpBaseOfDll; -} - -alias UNLOAD_DLL_DEBUG_INFO _UNLOAD_DLL_DEBUG_INFO; -alias UNLOAD_DLL_DEBUG_INFO TUNLOADDLLDEBUGINFO; -alias UNLOAD_DLL_DEBUG_INFO* PUNLOADDLLDEBUGINFO; - -struct OUTPUT_DEBUG_STRING_INFO -{ - LPSTR lpDebugStringData; - ushort fUnicode; - ushort nDebugStringLength; -} - -alias OUTPUT_DEBUG_STRING_INFO _OUTPUT_DEBUG_STRING_INFO; -alias OUTPUT_DEBUG_STRING_INFO TOUTPUTDEBUGSTRINGINFO; -alias OUTPUT_DEBUG_STRING_INFO* POUTPUTDEBUGSTRINGINFO; - -struct RIP_INFO -{ - DWORD dwError; - DWORD dwType; -} - -alias RIP_INFO _RIP_INFO; -alias RIP_INFO TRIPINFO; -alias RIP_INFO* PRIPINFO; - -struct DEBUG_EVENT -{ - DWORD dwDebugEventCode; - DWORD dwProcessId; - DWORD dwThreadId; - - union - { - struct - { - EXCEPTION_DEBUG_INFO Exception; - } - struct - { - CREATE_THREAD_DEBUG_INFO CreateThread; - } - struct - { - CREATE_PROCESS_DEBUG_INFO CreateProcessInfo; - } - struct - { - EXIT_THREAD_DEBUG_INFO ExitThread; - } - struct - { - EXIT_PROCESS_DEBUG_INFO ExitProcess; - } - struct - { - LOAD_DLL_DEBUG_INFO LoadDll; - } - struct - { - UNLOAD_DLL_DEBUG_INFO UnloadDll; - } - struct - { - OUTPUT_DEBUG_STRING_INFO DebugString; - } - struct - { - RIP_INFO RipInfo; - } - } -} - -alias DEBUG_EVENT* LPDEBUG_EVENT; -alias DEBUG_EVENT _DEBUG_EVENT; -alias DEBUG_EVENT TDEBUGEVENT; -alias DEBUG_EVENT* PDEBUGEVENT; - -struct DEBUGHOOKINFO -{ - DWORD idThread; - DWORD idThreadInstaller; - LPARAM lParam; - WPARAM wParam; - int code; -} - -alias DEBUGHOOKINFO TAGDEBUGHOOKINFO; -alias DEBUGHOOKINFO TDEBUGHOOKINFO; -alias DEBUGHOOKINFO* PDEBUGHOOKINFO; - -struct DELETEITEMSTRUCT -{ - UINT CtlType; - UINT CtlID; - UINT itemID; - HWND hwndItem; - UINT itemData; -} - -alias DELETEITEMSTRUCT TAGDELETEITEMSTRUCT; -alias DELETEITEMSTRUCT TDELETEITEMSTRUCT; -alias DELETEITEMSTRUCT* PDELETEITEMSTRUCT; - -struct DEV_BROADCAST_HDR -{ - ULONG dbch_size; - ULONG dbch_devicetype; - ULONG dbch_reserved; -} - -alias DEV_BROADCAST_HDR* PDEV_BROADCAST_HDR; -alias DEV_BROADCAST_HDR _DEV_BROADCAST_HDR; -alias DEV_BROADCAST_HDR TDEVBROADCASTHDR; -alias DEV_BROADCAST_HDR* PDEVBROADCASTHDR; - -struct DEV_BROADCAST_OEM -{ - ULONG dbco_size; - ULONG dbco_devicetype; - ULONG dbco_reserved; - ULONG dbco_identifier; - ULONG dbco_suppfunc; -} - -alias DEV_BROADCAST_OEM* PDEV_BROADCAST_OEM; -alias DEV_BROADCAST_OEM _DEV_BROADCAST_OEM; -alias DEV_BROADCAST_OEM TDEVBROADCASTOEM; -alias DEV_BROADCAST_OEM* PDEVBROADCASTOEM; - -struct DEV_BROADCAST_PORT -{ - ULONG dbcp_size; - ULONG dbcp_devicetype; - ULONG dbcp_reserved; - char[1 + 0] dbcp_name; -} - -alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT; -alias DEV_BROADCAST_PORT _DEV_BROADCAST_PORT; -alias DEV_BROADCAST_PORT TDEVBROADCASTPORT; -alias DEV_BROADCAST_PORT* PDEVBROADCASTPORT; - -struct _DEV_BROADCAST_USERDEFINED -{ - _DEV_BROADCAST_HDR dbud_dbh; - char[1 + 0] dbud_szName; - ubyte[1 + 0] dbud_rgbUserDefined; -} - -alias _DEV_BROADCAST_USERDEFINED TDEVBROADCASTUSERDEFINED; -alias _DEV_BROADCAST_USERDEFINED* PDEVBROADCASTUSERDEFINED; - -struct DEV_BROADCAST_VOLUME -{ - ULONG dbcv_size; - ULONG dbcv_devicetype; - ULONG dbcv_reserved; - ULONG dbcv_unitmask; - USHORT dbcv_flags; -} - -alias DEV_BROADCAST_VOLUME* PDEV_BROADCAST_VOLUME; -alias DEV_BROADCAST_VOLUME _DEV_BROADCAST_VOLUME; -alias DEV_BROADCAST_VOLUME TDEVBROADCASTVOLUME; -alias DEV_BROADCAST_VOLUME* PDEVBROADCASTVOLUME; - -struct DEVMODE -{ - BCHAR[1 + CCHDEVICENAME-1] dmDeviceName; - ushort dmSpecVersion; - ushort dmDriverVersion; - ushort dmSize; - ushort dmDriverExtra; - DWORD dmFields; - int dmOrientation; - int dmPaperSize; - int dmPaperLength; - int dmPaperWidth; - int dmScale; - int dmCopies; - int dmDefaultSource; - int dmPrintQuality; - int dmColor; - int dmDuplex; - int dmYResolution; - int dmTTOption; - int dmCollate; - BCHAR[1 + CCHFORMNAME-1] dmFormName; - ushort dmLogPixels; - DWORD dmBitsPerPel; - DWORD dmPelsWidth; - DWORD dmPelsHeight; - DWORD dmDisplayFlags; - DWORD dmDisplayFrequency; - DWORD dmICMMethod; - DWORD dmICMIntent; - DWORD dmMediaType; - DWORD dmDitherType; - DWORD dmICCManufacturer; - DWORD dmICCModel; -} - -alias DEVMODE* LPDEVMODE; -alias DEVMODE _DEVICEMODE; -alias DEVMODE DEVICEMODE; -alias DEVMODE TDEVICEMODE; -alias DEVMODE TDEVICEMODEA; -alias DEVMODE TDEVMODE; -alias DEVMODE* PDEVMODE; - -struct DEVNAMES -{ - ushort wDriverOffset; - ushort wDeviceOffset; - ushort wOutputOffset; - ushort wDefault; -} - -alias DEVNAMES* LPDEVNAMES; -alias DEVNAMES TAGDEVNAMES; -alias DEVNAMES TDEVNAMES; -alias DEVNAMES* PDEVNAMES; - -struct DIBSECTION -{ - BITMAP dsBm; - BITMAPINFOHEADER dsBmih; - DWORD[1 + 2] dsBitfields; - HANDLE dshSection; - DWORD dsOffset; -} - -alias DIBSECTION TAGDIBSECTION; -alias DIBSECTION TDIBSECTION; -alias DIBSECTION* PDIBSECTION; - -union LARGE_INTEGER -{ - struct - { - DWORD LowPart; - LONG HighPart; - }; - struct u - { - DWORD LowPart; - LONG HighPart; - }; - LONGLONG QuadPart; -} - -alias LARGE_INTEGER* PLARGE_INTEGER; -alias LARGE_INTEGER _LARGE_INTEGER; -alias LARGE_INTEGER TLARGEINTEGER; -alias LARGE_INTEGER* PLARGEINTEGER; - -struct DISK_GEOMETRY -{ - LARGE_INTEGER Cylinders; - MEDIA_TYPE MediaType; - DWORD TracksPerCylinder; - DWORD SectorsPerTrack; - DWORD BytesPerSector; -} - -alias DISK_GEOMETRY _DISK_GEOMETRY; -alias DISK_GEOMETRY TDISKGEOMETRY; -alias DISK_GEOMETRY* PDISKGEOMETRY; - -struct DISK_PERFORMANCE -{ - LARGE_INTEGER BytesRead; - LARGE_INTEGER BytesWritten; - LARGE_INTEGER ReadTime; - LARGE_INTEGER WriteTime; - DWORD ReadCount; - DWORD WriteCount; - DWORD QueueDepth; -} - -alias DISK_PERFORMANCE _DISK_PERFORMANCE; -alias DISK_PERFORMANCE TDISKPERFORMANCE; -alias DISK_PERFORMANCE* PDISKPERFORMANCE; - -align(1) struct DLGITEMTEMPLATE -{ - DWORD style; - DWORD dwExtendedStyle; - int x; - int y; - int cx; - int cy; - ushort id; -} - -alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATE; -alias DLGITEMTEMPLATE TDLGITEMTEMPLATE; -alias DLGITEMTEMPLATE* PDLGITEMTEMPLATE; - -align(1) struct DLGTEMPLATE -{ - DWORD style; - DWORD dwExtendedStyle; - ushort cdit; - int x; - int y; - int cx; - int cy; -} - -alias DLGTEMPLATE* LPDLGTEMPLATE; -alias DLGTEMPLATE* LPCDLGTEMPLATE; -alias DLGTEMPLATE TDLGTEMPLATE; -alias DLGTEMPLATE* PDLGTEMPLATE; - -struct DOC_INFO_1 -{ - LPTSTR pDocName; - LPTSTR pOutputFile; - LPTSTR pDatatype; -} - -alias DOC_INFO_1 _DOC_INFO_1; -alias DOC_INFO_1 TDOCINFO1; -alias DOC_INFO_1* PDOCINFO1; - -struct DOC_INFO_2 -{ - LPTSTR pDocName; - LPTSTR pOutputFile; - LPTSTR pDatatype; - DWORD dwMode; - DWORD JobId; -} - -alias DOC_INFO_2 _DOC_INFO_2; -alias DOC_INFO_2 TDOCINFO2; -alias DOC_INFO_2* PDOCINFO2; - -struct DOCINFOA -{ - int cbSize; - LPCSTR lpszDocName; - LPCSTR lpszOutput; - LPCSTR lpszDatatype; - DWORD fwType; -} -alias DOCINFOA TDOCINFOA; - -struct DOCINFOW -{ - int cbSize; - LPCWSTR lpszDocName; - LPCWSTR lpszOutput; - LPCWSTR lpszDatatype; - DWORD fwType; -} -alias DOCINFOW TDOCINFOW; - -version(Win32SansUnicode) -{ - alias DOCINFOA DOCINFO; -} -else -{ - alias DOCINFOW DOCINFO; -} -alias DOCINFO TDOCINFO; -alias DOCINFO* LPDOCINFO; -alias DOCINFO* PDOCINFO; - -struct DRAGLISTINFO -{ - UINT uNotification; - HWND hWnd; - POINT ptCursor; -} - -alias DRAGLISTINFO* LPDRAGLISTINFO; -alias DRAGLISTINFO TDRAGLISTINFO; -alias DRAGLISTINFO* PDRAGLISTINFO; - -struct DRAWITEMSTRUCT -{ - UINT CtlType; - UINT CtlID; - UINT itemID; - UINT itemAction; - UINT itemState; - HWND hwndItem; - HDC hDC; - RECT rcItem; - DWORD itemData; -} - -alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT; -alias DRAWITEMSTRUCT TAGDRAWITEMSTRUCT; -alias DRAWITEMSTRUCT TDRAWITEMSTRUCT; -alias DRAWITEMSTRUCT* PDRAWITEMSTRUCT; - -struct DRAWTEXTPARAMS -{ - UINT cbSize; - int iTabLength; - int iLeftMargin; - int iRightMargin; - UINT uiLengthDrawn; -} - -alias DRAWTEXTPARAMS* LPDRAWTEXTPARAMS; -alias DRAWTEXTPARAMS TDRAWTEXTPARAMS; -alias DRAWTEXTPARAMS* PDRAWTEXTPARAMS; - -struct PARTITION_INFORMATION -{ - ubyte PartitionType; - ubyte BootIndicator; - ubyte RecognizedPartition; - ubyte RewritePartition; - LARGE_INTEGER StartingOffset; - LARGE_INTEGER PartitionLength; - LARGE_INTEGER HiddenSectors; -} - -alias PARTITION_INFORMATION _PARTITION_INFORMATION; -alias PARTITION_INFORMATION TPARTITIONINFORMATION; -alias PARTITION_INFORMATION* PPARTITIONINFORMATION; - -struct DRIVE_LAYOUT_INFORMATION -{ - DWORD PartitionCount; - DWORD Signature; - PARTITION_INFORMATION[1 + 0] PartitionEntry; -} - -alias DRIVE_LAYOUT_INFORMATION _DRIVE_LAYOUT_INFORMATION; -alias DRIVE_LAYOUT_INFORMATION TDRIVELAYOUTINFORMATION; -alias DRIVE_LAYOUT_INFORMATION* PDRIVELAYOUTINFORMATION; - -struct DRIVER_INFO_1 -{ - LPTSTR pName; -} - -alias DRIVER_INFO_1 _DRIVER_INFO_1; -alias DRIVER_INFO_1 TDRIVERINFO1; -alias DRIVER_INFO_1* PDRIVERINFO1; - -struct DRIVER_INFO_2 -{ - DWORD cVersion; - LPTSTR pName; - LPTSTR pEnvironment; - LPTSTR pDriverPath; - LPTSTR pDataFile; - LPTSTR pConfigFile; -} - -alias DRIVER_INFO_2 _DRIVER_INFO_2; -alias DRIVER_INFO_2 TDRIVERINFO2; -alias DRIVER_INFO_2* PDRIVERINFO2; - -struct DRIVER_INFO_3 -{ - DWORD cVersion; - LPTSTR pName; - LPTSTR pEnvironment; - LPTSTR pDriverPath; - LPTSTR pDataFile; - LPTSTR pConfigFile; - LPTSTR pHelpFile; - LPTSTR pDependentFiles; - LPTSTR pMonitorName; - LPTSTR pDefaultDataType; -} - -alias DRIVER_INFO_3 _DRIVER_INFO_3; -alias DRIVER_INFO_3 TDRIVERINFO3; -alias DRIVER_INFO_3* PDRIVERINFO3; - -struct EDITSTREAM -{ - DWORD dwCookie; - DWORD dwError; - EDITSTREAMCALLBACK pfnCallback; -} - -alias EDITSTREAM _EDITSTREAM; -alias EDITSTREAM TEDITSTREAM; -alias EDITSTREAM* PEDITSTREAM; - -struct EMR -{ - DWORD iType; - DWORD nSize; -} - -alias EMR TAGEMR; -alias EMR TEMR; -alias EMR* PEMR; - -struct EMRANGLEARC -{ - EMR emr; - POINTL ptlCenter; - DWORD nRadius; - FLOAT eStartAngle; - FLOAT eSweepAngle; -} - -alias EMRANGLEARC TAGEMRANGLEARC; -alias EMRANGLEARC TEMRANGLEARC; -alias EMRANGLEARC* PEMRANGLEARC; - -struct EMRARC -{ - EMR emr; - RECTL rclBox; - POINTL ptlStart; - POINTL ptlEnd; -} - -alias EMRARC TAGEMRARC; -alias EMRARC TEMRARC; -alias EMRARC* PEMRARC; -alias EMRARC EMRARCTO; -alias EMRARC TEMRARCTO; -alias EMRARC* PEMRARCTO; -alias EMRARC EMRCHORD; -alias EMRARC TEMRCHORD; -alias EMRARC* PEMRCHORD; -alias EMRARC EMRPIE; -alias EMRARC TEMRPIE; -alias EMRARC* PEMRPIE; - -struct XFORM -{ - FLOAT eM11; - FLOAT eM12; - FLOAT eM21; - FLOAT eM22; - FLOAT eDx; - FLOAT eDy; -} - -alias XFORM* LPXFORM; -alias XFORM _XFORM; -alias XFORM TXFORM; -alias XFORM* PXFORM; - -struct EMRBITBLT -{ - EMR emr; - RECTL rclBounds; - LONG xDest; - LONG yDest; - LONG cxDest; - LONG cyDest; - DWORD dwRop; - LONG xSrc; - LONG ySrc; - XFORM xformSrc; - COLORREF crBkColorSrc; - DWORD iUsageSrc; - DWORD offBmiSrc; - DWORD offBitsSrc; - DWORD cbBitsSrc; -} - -alias EMRBITBLT TAGEMRBITBLT; -alias EMRBITBLT TEMRBITBLT; -alias EMRBITBLT* PEMRBITBLT; - -struct LOGBRUSH -{ - UINT lbStyle; - COLORREF lbColor; - LONG lbHatch; -} - -alias LOGBRUSH TAGLOGBRUSH; -alias LOGBRUSH TLOGBRUSH; -alias LOGBRUSH* PLOGBRUSH; - -struct EMRCREATEBRUSHINDIRECT -{ - EMR emr; - DWORD ihBrush; - LOGBRUSH lb; -} - -alias EMRCREATEBRUSHINDIRECT TAGEMRCREATEBRUSHINDIRECT; -alias EMRCREATEBRUSHINDIRECT TEMRCREATEBRUSHINDIRECT; -alias EMRCREATEBRUSHINDIRECT* PEMRCREATEBRUSHINDIRECT; -alias LONG LCSCSTYPE; -alias LONG LCSGAMUTMATCH; - -struct LOGCOLORSPACE -{ - DWORD lcsSignature; - DWORD lcsVersion; - DWORD lcsSize; - LCSCSTYPE lcsCSType; - LCSGAMUTMATCH lcsIntent; - CIEXYZTRIPLE lcsEndpoints; - DWORD lcsGammaRed; - DWORD lcsGammaGreen; - DWORD lcsGammaBlue; - TCHAR[1 + MAX_PATH-1] lcsFilename; -} - -alias LOGCOLORSPACE* LPLOGCOLORSPACE; -alias LOGCOLORSPACE TAGLOGCOLORSPACE; -alias LOGCOLORSPACE TLOGCOLORSPACE; -alias LOGCOLORSPACE TLOGCOLORSPACEA; -alias LOGCOLORSPACE* PLOGCOLORSPACE; - -struct EMRCREATECOLORSPACE -{ - EMR emr; - DWORD ihCS; - LOGCOLORSPACE lcs; -} - -alias EMRCREATECOLORSPACE TAGEMRCREATECOLORSPACE; -alias EMRCREATECOLORSPACE TEMRCREATECOLORSPACE; -alias EMRCREATECOLORSPACE* PEMRCREATECOLORSPACE; - -struct EMRCREATEDIBPATTERNBRUSHPT -{ - EMR emr; - DWORD ihBrush; - DWORD iUsage; - DWORD offBmi; - DWORD cbBmi; - DWORD offBits; - DWORD cbBits; -} - -alias EMRCREATEDIBPATTERNBRUSHPT TAGEMRCREATEDIBPATTERNBRUSHPT; -alias EMRCREATEDIBPATTERNBRUSHPT TEMRCREATEDIBPATTERNBRUSHPT; -alias EMRCREATEDIBPATTERNBRUSHPT PEMRCREATEDIBPATTERNBRUSHPT; - -struct EMRCREATEMONOBRUSH -{ - EMR emr; - DWORD ihBrush; - DWORD iUsage; - DWORD offBmi; - DWORD cbBmi; - DWORD offBits; - DWORD cbBits; -} - -alias EMRCREATEMONOBRUSH TAGEMRCREATEMONOBRUSH; -alias EMRCREATEMONOBRUSH TEMRCREATEMONOBRUSH; -alias EMRCREATEMONOBRUSH* PEMRCREATEMONOBRUSH; - -struct PALETTEENTRY -{ - ubyte peRed; - ubyte peGreen; - ubyte peBlue; - ubyte peFlags; -} - -alias PALETTEENTRY* LPPALETTEENTRY; -alias PALETTEENTRY TAGPALETTEENTRY; -alias PALETTEENTRY TPALETTEENTRY; -alias PALETTEENTRY* PPALETTEENTRY; - -struct LOGPALETTE -{ - ushort palVersion; - ushort palNumEntries; - PALETTEENTRY[1 + 0] palPalEntry; -} - -alias LOGPALETTE* LPLOGPALETTE; -alias LOGPALETTE TAGLOGPALETTE; -alias LOGPALETTE TLOGPALETTE; -alias LOGPALETTE* PLOGPALETTE; - -struct EMRCREATEPALETTE -{ - EMR emr; - DWORD ihPal; - LOGPALETTE lgpl; -} - -alias EMRCREATEPALETTE TAGEMRCREATEPALETTE; -alias EMRCREATEPALETTE TEMRCREATEPALETTE; -alias EMRCREATEPALETTE* PEMRCREATEPALETTE; - -struct LOGPEN -{ - UINT lopnStyle; - POINT lopnWidth; - COLORREF lopnColor; -} - -alias LOGPEN TAGLOGPEN; -alias LOGPEN TLOGPEN; -alias LOGPEN* PLOGPEN; - -struct EMRCREATEPEN -{ - EMR emr; - DWORD ihPen; - LOGPEN lopn; -} - -alias EMRCREATEPEN TAGEMRCREATEPEN; -alias EMRCREATEPEN TEMRCREATEPEN; -alias EMRCREATEPEN* PEMRCREATEPEN; - -struct EMRELLIPSE -{ - EMR emr; - RECTL rclBox; -} - -alias EMRELLIPSE TAGEMRELLIPSE; -alias EMRELLIPSE TEMRELLIPSE; -alias EMRELLIPSE* PEMRELLIPSE; -alias EMRELLIPSE EMRRECTANGLE; -alias EMRELLIPSE TEMRRECTANGLE; -alias EMRELLIPSE* PEMRRECTANGLE; - -struct EMREOF -{ - EMR emr; - DWORD nPalEntries; - DWORD offPalEntries; - DWORD nSizeLast; -} - -alias EMREOF TAGEMREOF; -alias EMREOF TEMREOF; -alias EMREOF* PEMREOF; - -struct EMREXCLUDECLIPRECT -{ - EMR emr; - RECTL rclClip; -} - -alias EMREXCLUDECLIPRECT TAGEMREXCLUDECLIPRECT; -alias EMREXCLUDECLIPRECT TEMREXCLUDECLIPRECT; -alias EMREXCLUDECLIPRECT* PEMREXCLUDECLIPRECT; -alias EMREXCLUDECLIPRECT EMRINTERSECTCLIPRECT; -alias EMREXCLUDECLIPRECT TEMRINTERSECTCLIPRECT; -alias EMREXCLUDECLIPRECT* PEMRINTERSECTCLIPRECT; - -struct PANOSE -{ - ubyte bFamilyType; - ubyte bSerifStyle; - ubyte bWeight; - ubyte bProportion; - ubyte bContrast; - ubyte bStrokeVariation; - ubyte bArmStyle; - ubyte bLetterform; - ubyte bMidline; - ubyte bXHeight; -} - -alias PANOSE TAGPANOSE; -alias PANOSE TPANOSE; -alias PANOSE* PPANOSE; - -struct EXTLOGFONT -{ - LOGFONT elfLogFont; - BCHAR[1 + LF_FULLFACESIZE-1] elfFullName; - BCHAR[1 + LF_FACESIZE-1] elfStyle; - DWORD elfVersion; - DWORD elfStyleSize; - DWORD elfMatch; - DWORD elfReserved; - ubyte[1 + ELF_VENDOR_SIZE-1] elfVendorId; - DWORD elfCulture; - PANOSE elfPanose; -} - -alias EXTLOGFONT TAGEXTLOGFONT; -alias EXTLOGFONT TEXTLOGFONT; -alias EXTLOGFONT* PEXTLOGFONT; - -struct EMREXTCREATEFONTINDIRECTW -{ - EMR emr; - DWORD ihFont; - EXTLOGFONT elfw; -} - -alias EMREXTCREATEFONTINDIRECTW TAGEMREXTCREATEFONTINDIRECTW; -alias EMREXTCREATEFONTINDIRECTW TEMREXTCREATEFONTINDIRECTW; -alias EMREXTCREATEFONTINDIRECTW* PEMREXTCREATEFONTINDIRECTW; - -struct EXTLOGPEN -{ - UINT elpPenStyle; - UINT elpWidth; - UINT elpBrushStyle; - COLORREF elpColor; - LONG elpHatch; - DWORD elpNumEntries; - DWORD[1 + 0] elpStyleEntry; -} - -alias EXTLOGPEN TAGEXTLOGPEN; -alias EXTLOGPEN TEXTLOGPEN; -alias EXTLOGPEN* PEXTLOGPEN; - -struct EMREXTCREATEPEN -{ - EMR emr; - DWORD ihPen; - DWORD offBmi; - DWORD cbBmi; - DWORD offBits; - DWORD cbBits; - EXTLOGPEN elp; -} - -alias EMREXTCREATEPEN TAGEMREXTCREATEPEN; -alias EMREXTCREATEPEN TEMREXTCREATEPEN; -alias EMREXTCREATEPEN* PEMREXTCREATEPEN; - -struct EMREXTFLOODFILL -{ - EMR emr; - POINTL ptlStart; - COLORREF crColor; - DWORD iMode; -} - -alias EMREXTFLOODFILL TAGEMREXTFLOODFILL; -alias EMREXTFLOODFILL TEMREXTFLOODFILL; -alias EMREXTFLOODFILL* PEMREXTFLOODFILL; - -struct EMREXTSELECTCLIPRGN -{ - EMR emr; - DWORD cbRgnData; - DWORD iMode; - ubyte[1 + 0] RgnData; -} - -alias EMREXTSELECTCLIPRGN TAGEMREXTSELECTCLIPRGN; -alias EMREXTSELECTCLIPRGN TEMREXTSELECTCLIPRGN; -alias EMREXTSELECTCLIPRGN* PEMREXTSELECTCLIPRGN; - -struct EMRTEXT -{ - POINTL ptlReference; - DWORD nChars; - DWORD offString; - DWORD fOptions; - RECTL rcl; - DWORD offDx; -} - -alias EMRTEXT TAGEMRTEXT; -alias EMRTEXT TEMRTEXT; -alias EMRTEXT* PEMRTEXT; - -struct EMREXTTEXTOUTA -{ - EMR emr; - RECTL rclBounds; - DWORD iGraphicsMode; - FLOAT exScale; - FLOAT eyScale; - EMRTEXT emrtext; -} - -alias EMREXTTEXTOUTA TAGEMREXTTEXTOUTA; -alias EMREXTTEXTOUTA TEMREXTTEXTOUTA; -alias EMREXTTEXTOUTA* PEMREXTTEXTOUTA; -alias EMREXTTEXTOUTA EMREXTTEXTOUTW; -alias EMREXTTEXTOUTA TEMREXTTEXTOUTW; -alias EMREXTTEXTOUTA* PEMREXTTEXTOUTW; - -struct EMRFILLPATH -{ - EMR emr; - RECTL rclBounds; -} - -alias EMRFILLPATH TAGEMRFILLPATH; -alias EMRFILLPATH TEMRFILLPATH; -alias EMRFILLPATH* PEMRFILLPATH; -alias EMRFILLPATH EMRSTROKEANDFILLPATH; -alias EMRFILLPATH TEMRSTROKEANDFILLPATH; -alias EMRFILLPATH* PEMRSTROKEANDFILLPATH; -alias EMRFILLPATH EMRSTROKEPATH; -alias EMRFILLPATH TEMRSTROKEPATH; -alias EMRFILLPATH* PEMRSTROKEPATH; - -struct EMRFILLRGN -{ - EMR emr; - RECTL rclBounds; - DWORD cbRgnData; - DWORD ihBrush; - ubyte[1 + 0] RgnData; -} - -alias EMRFILLRGN TAGEMRFILLRGN; -alias EMRFILLRGN TEMRFILLRGN; -alias EMRFILLRGN* PEMRFILLRGN; - -struct EMRFORMAT -{ - DWORD dSignature; - DWORD nVersion; - DWORD cbData; - DWORD offData; -} - -alias EMRFORMAT TAGEMRFORMAT; -alias EMRFORMAT TEMRFORMAT; -alias EMRFORMAT* PEMRFORMAT; - -struct SIZE -{ - LONG cx; - LONG cy; -} - -alias SIZE* LPSIZE; -alias SIZE TAGSIZE; -alias SIZE TSIZE; -alias SIZE* PSIZE; -alias SIZE SIZEL; -alias SIZE TSIZEL; -alias SIZE* PSIZEL; -alias SIZE* LPSIZEL; - -struct EMRFRAMERGN -{ - EMR emr; - RECTL rclBounds; - DWORD cbRgnData; - DWORD ihBrush; - SIZEL szlStroke; - ubyte[1 + 0] RgnData; -} - -alias EMRFRAMERGN TAGEMRFRAMERGN; -alias EMRFRAMERGN TEMRFRAMERGN; -alias EMRFRAMERGN* PEMRFRAMERGN; - -struct EMRGDICOMMENT -{ - EMR emr; - DWORD cbData; - ubyte[1 + 0] Data; -} - -alias EMRGDICOMMENT TAGEMRGDICOMMENT; -alias EMRGDICOMMENT TEMRGDICOMMENT; -alias EMRGDICOMMENT* PEMRGDICOMMENT; - -struct EMRINVERTRGN -{ - EMR emr; - RECTL rclBounds; - DWORD cbRgnData; - ubyte[1 + 0] RgnData; -} - -alias EMRINVERTRGN TAGEMRINVERTRGN; -alias EMRINVERTRGN TEMRINVERTRGN; -alias EMRINVERTRGN* PEMRINVERTRGN; -alias EMRINVERTRGN EMRPAINTRGN; -alias EMRINVERTRGN TEMRPAINTRGN; -alias EMRINVERTRGN* PEMRPAINTRGN; - -struct EMRLINETO -{ - EMR emr; - POINTL ptl; -} - -alias EMRLINETO TAGEMRLINETO; -alias EMRLINETO TEMRLINETO; -alias EMRLINETO* PEMRLINETO; -alias EMRLINETO EMRMOVETOEX; -alias EMRLINETO TEMRMOVETOEX; -alias EMRLINETO* PEMRMOVETOEX; - -struct EMRMASKBLT -{ - EMR emr; - RECTL rclBounds; - LONG xDest; - LONG yDest; - LONG cxDest; - LONG cyDest; - DWORD dwRop; - LONG xSrc; - LONG ySrc; - XFORM xformSrc; - COLORREF crBkColorSrc; - DWORD iUsageSrc; - DWORD offBmiSrc; - DWORD cbBmiSrc; - DWORD offBitsSrc; - DWORD cbBitsSrc; - LONG xMask; - LONG yMask; - DWORD iUsageMask; - DWORD offBmiMask; - DWORD cbBmiMask; - DWORD offBitsMask; - DWORD cbBitsMask; -} - -alias EMRMASKBLT TAGEMRMASKBLT; -alias EMRMASKBLT TEMRMASKBLT; -alias EMRMASKBLT* PEMRMASKBLT; - -struct EMRMODIFYWORLDTRANSFORM -{ - EMR emr; - XFORM xform; - DWORD iMode; -} - -alias EMRMODIFYWORLDTRANSFORM TAGEMRMODIFYWORLDTRANSFORM; -alias EMRMODIFYWORLDTRANSFORM TEMRMODIFYWORLDTRANSFORM; -alias EMRMODIFYWORLDTRANSFORM PEMRMODIFYWORLDTRANSFORM; - -struct EMROFFSETCLIPRGN -{ - EMR emr; - POINTL ptlOffset; -} - -alias EMROFFSETCLIPRGN TAGEMROFFSETCLIPRGN; -alias EMROFFSETCLIPRGN TEMROFFSETCLIPRGN; -alias EMROFFSETCLIPRGN* PEMROFFSETCLIPRGN; - -struct EMRPLGBLT -{ - EMR emr; - RECTL rclBounds; - POINTL[1 + 2] aptlDest; - LONG xSrc; - LONG ySrc; - LONG cxSrc; - LONG cySrc; - XFORM xformSrc; - COLORREF crBkColorSrc; - DWORD iUsageSrc; - DWORD offBmiSrc; - DWORD cbBmiSrc; - DWORD offBitsSrc; - DWORD cbBitsSrc; - LONG xMask; - LONG yMask; - DWORD iUsageMask; - DWORD offBmiMask; - DWORD cbBmiMask; - DWORD offBitsMask; - DWORD cbBitsMask; -} - -alias EMRPLGBLT TAGEMRPLGBLT; -alias EMRPLGBLT TEMRPLGBLT; -alias EMRPLGBLT* PEMRPLGBLT; - -struct EMRPOLYDRAW -{ - EMR emr; - RECTL rclBounds; - DWORD cptl; - POINTL[1 + 0] aptl; - ubyte[1 + 0] abTypes; -} - -alias EMRPOLYDRAW TAGEMRPOLYDRAW; -alias EMRPOLYDRAW TEMRPOLYDRAW; -alias EMRPOLYDRAW* PEMRPOLYDRAW; - -struct EMRPOLYDRAW16 -{ - EMR emr; - RECTL rclBounds; - DWORD cpts; - POINTS[1 + 0] apts; - ubyte[1 + 0] abTypes; -} - -alias EMRPOLYDRAW16 TAGEMRPOLYDRAW16; -alias EMRPOLYDRAW16 TEMRPOLYDRAW16; -alias EMRPOLYDRAW16* PEMRPOLYDRAW16; - -struct EMRPOLYLINE -{ - EMR emr; - RECTL rclBounds; - DWORD cptl; - POINTL[1 + 0] aptl; -} - -alias EMRPOLYLINE TAGEMRPOLYLINE; -alias EMRPOLYLINE TEMRPOLYLINE; -alias EMRPOLYLINE* PEMRPOLYLINE; -alias EMRPOLYLINE EMRPOLYBEZIER; -alias EMRPOLYLINE TEMRPOLYBEZIER; -alias EMRPOLYLINE* PEMRPOLYBEZIER; -alias EMRPOLYLINE EMRPOLYGON; -alias EMRPOLYLINE TEMRPOLYGON; -alias EMRPOLYLINE* PEMRPOLYGON; -alias EMRPOLYLINE EMRPOLYBEZIERTO; -alias EMRPOLYLINE TEMRPOLYBEZIERTO; -alias EMRPOLYLINE* PEMRPOLYBEZIERTO; -alias EMRPOLYLINE EMRPOLYLINETO; -alias EMRPOLYLINE TEMRPOLYLINETO; -alias EMRPOLYLINE* PEMRPOLYLINETO; - -struct EMRPOLYLINE16 -{ - EMR emr; - RECTL rclBounds; - DWORD cpts; - POINTL[1 + 0] apts; -} - -alias EMRPOLYLINE16 TAGEMRPOLYLINE16; -alias EMRPOLYLINE16 TEMRPOLYLINE16; -alias EMRPOLYLINE16* PEMRPOLYLINE16; -alias EMRPOLYLINE16 EMRPOLYBEZIER16; -alias EMRPOLYLINE16 TEMRPOLYBEZIER16; -alias EMRPOLYLINE16* PEMRPOLYBEZIER16; -alias EMRPOLYLINE16 EMRPOLYGON16; -alias EMRPOLYLINE16 TEMRPOLYGON16; -alias EMRPOLYLINE16* PEMRPOLYGON16; -alias EMRPOLYLINE16 EMRPOLYBEZIERTO16; -alias EMRPOLYLINE16 TEMRPOLYBEZIERTO16; -alias EMRPOLYLINE16* PEMRPOLYBEZIERTO16; -alias EMRPOLYLINE16 EMRPOLYLINETO16; -alias EMRPOLYLINE16 TEMRPOLYLINETO16; -alias EMRPOLYLINE16* PEMRPOLYLINETO16; - -struct EMRPOLYPOLYLINE -{ - EMR emr; - RECTL rclBounds; - DWORD nPolys; - DWORD cptl; - DWORD[1 + 0] aPolyCounts; - POINTL[1 + 0] aptl; -} - -alias EMRPOLYPOLYLINE TAGEMRPOLYPOLYLINE; -alias EMRPOLYPOLYLINE TEMRPOLYPOLYLINE; -alias EMRPOLYPOLYLINE* PEMRPOLYPOLYLINE; -alias EMRPOLYPOLYLINE EMRPOLYPOLYGON; -alias EMRPOLYPOLYLINE TEMRPOLYPOLYGON; -alias EMRPOLYPOLYLINE* PEMRPOLYPOLYGON; - -struct EMRPOLYPOLYLINE16 -{ - EMR emr; - RECTL rclBounds; - DWORD nPolys; - DWORD cpts; - DWORD[1 + 0] aPolyCounts; - POINTS[1 + 0] apts; -} - -alias EMRPOLYPOLYLINE16 TAGEMRPOLYPOLYLINE16; -alias EMRPOLYPOLYLINE16 TEMRPOLYPOLYLINE16; -alias EMRPOLYPOLYLINE16* PEMRPOLYPOLYLINE16; -alias EMRPOLYPOLYLINE16 EMRPOLYPOLYGON16; -alias EMRPOLYPOLYLINE16 TEMRPOLYPOLYGON16; -alias EMRPOLYPOLYLINE16* PEMRPOLYPOLYGON16; - -struct EMRPOLYTEXTOUTA -{ - EMR emr; - RECTL rclBounds; - DWORD iGraphicsMode; - FLOAT exScale; - FLOAT eyScale; - LONG cStrings; - EMRTEXT[1 + 0] aemrtext; -} - -alias EMRPOLYTEXTOUTA TAGEMRPOLYTEXTOUTA; -alias EMRPOLYTEXTOUTA TEMRPOLYTEXTOUTA; -alias EMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTA; -alias EMRPOLYTEXTOUTA EMRPOLYTEXTOUTW; -alias EMRPOLYTEXTOUTA TEMRPOLYTEXTOUTW; -alias EMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTW; - -struct EMRRESIZEPALETTE -{ - EMR emr; - DWORD ihPal; - DWORD cEntries; -} - -alias EMRRESIZEPALETTE TAGEMRRESIZEPALETTE; -alias EMRRESIZEPALETTE TEMRRESIZEPALETTE; -alias EMRRESIZEPALETTE* PEMRRESIZEPALETTE; - -struct EMRRESTOREDC -{ - EMR emr; - LONG iRelative; -} - -alias EMRRESTOREDC TAGEMRRESTOREDC; -alias EMRRESTOREDC TEMRRESTOREDC; -alias EMRRESTOREDC* PEMRRESTOREDC; - -struct EMRROUNDRECT -{ - EMR emr; - RECTL rclBox; - SIZEL szlCorner; -} - -alias EMRROUNDRECT TAGEMRROUNDRECT; -alias EMRROUNDRECT TEMRROUNDRECT; -alias EMRROUNDRECT* PEMRROUNDRECT; - -struct EMRSCALEVIEWPORTEXTEX -{ - EMR emr; - LONG xNum; - LONG xDenom; - LONG yNum; - LONG yDenom; -} - -alias EMRSCALEVIEWPORTEXTEX TAGEMRSCALEVIEWPORTEXTEX; -alias EMRSCALEVIEWPORTEXTEX TEMRSCALEVIEWPORTEXTEX; -alias EMRSCALEVIEWPORTEXTEX* PEMRSCALEVIEWPORTEXTEX; -alias EMRSCALEVIEWPORTEXTEX EMRSCALEWINDOWEXTEX; -alias EMRSCALEVIEWPORTEXTEX TEMRSCALEWINDOWEXTEX; -alias EMRSCALEVIEWPORTEXTEX* PEMRSCALEWINDOWEXTEX; - -struct EMRSELECTCOLORSPACE -{ - EMR emr; - DWORD ihCS; -} - -alias EMRSELECTCOLORSPACE TAGEMRSELECTCOLORSPACE; -alias EMRSELECTCOLORSPACE TEMRSELECTCOLORSPACE; -alias EMRSELECTCOLORSPACE* PEMRSELECTCOLORSPACE; -alias EMRSELECTCOLORSPACE EMRDELETECOLORSPACE; -alias EMRSELECTCOLORSPACE TEMRDELETECOLORSPACE; -alias EMRSELECTCOLORSPACE* PEMRDELETECOLORSPACE; - -struct EMRSELECTOBJECT -{ - EMR emr; - DWORD ihObject; -} - -alias EMRSELECTOBJECT TAGEMRSELECTOBJECT; -alias EMRSELECTOBJECT TEMRSELECTOBJECT; -alias EMRSELECTOBJECT* PEMRSELECTOBJECT; -alias EMRSELECTOBJECT EMRDELETEOBJECT; -alias EMRSELECTOBJECT TEMRDELETEOBJECT; -alias EMRSELECTOBJECT* PEMRDELETEOBJECT; - -struct EMRSELECTPALETTE -{ - EMR emr; - DWORD ihPal; -} - -alias EMRSELECTPALETTE TAGEMRSELECTPALETTE; -alias EMRSELECTPALETTE TEMRSELECTPALETTE; -alias EMRSELECTPALETTE* PEMRSELECTPALETTE; - -struct EMRSETARCDIRECTION -{ - EMR emr; - DWORD iArcDirection; -} - -alias EMRSETARCDIRECTION TAGEMRSETARCDIRECTION; -alias EMRSETARCDIRECTION TEMRSETARCDIRECTION; -alias EMRSETARCDIRECTION* PEMRSETARCDIRECTION; - -struct EMRSETBKCOLOR -{ - EMR emr; - COLORREF crColor; -} - -alias EMRSETBKCOLOR TAGEMRSETTEXTCOLOR; -alias EMRSETBKCOLOR TEMRSETBKCOLOR; -alias EMRSETBKCOLOR* PEMRSETBKCOLOR; -alias EMRSETBKCOLOR EMRSETTEXTCOLOR; -alias EMRSETBKCOLOR TEMRSETTEXTCOLOR; -alias EMRSETBKCOLOR* PEMRSETTEXTCOLOR; - -struct EMRSETCOLORADJUSTMENT -{ - EMR emr; - COLORADJUSTMENT ColorAdjustment; -} - -alias EMRSETCOLORADJUSTMENT TAGEMRSETCOLORADJUSTMENT; -alias EMRSETCOLORADJUSTMENT TEMRSETCOLORADJUSTMENT; -alias EMRSETCOLORADJUSTMENT* PEMRSETCOLORADJUSTMENT; - -struct EMRSETDIBITSTODEVICE -{ - EMR emr; - RECTL rclBounds; - LONG xDest; - LONG yDest; - LONG xSrc; - LONG ySrc; - LONG cxSrc; - LONG cySrc; - DWORD offBmiSrc; - DWORD cbBmiSrc; - DWORD offBitsSrc; - DWORD cbBitsSrc; - DWORD iUsageSrc; - DWORD iStartScan; - DWORD cScans; -} - -alias EMRSETDIBITSTODEVICE TAGEMRSETDIBITSTODEVICE; -alias EMRSETDIBITSTODEVICE TEMRSETDIBITSTODEVICE; -alias EMRSETDIBITSTODEVICE* PEMRSETDIBITSTODEVICE; - -struct EMRSETMAPPERFLAGS -{ - EMR emr; - DWORD dwFlags; -} - -alias EMRSETMAPPERFLAGS TAGEMRSETMAPPERFLAGS; -alias EMRSETMAPPERFLAGS TEMRSETMAPPERFLAGS; -alias EMRSETMAPPERFLAGS* PEMRSETMAPPERFLAGS; - -struct EMRSETMITERLIMIT -{ - EMR emr; - FLOAT eMiterLimit; -} - -alias EMRSETMITERLIMIT TAGEMRSETMITERLIMIT; -alias EMRSETMITERLIMIT TEMRSETMITERLIMIT; -alias EMRSETMITERLIMIT* PEMRSETMITERLIMIT; - -struct EMRSETPALETTEENTRIES -{ - EMR emr; - DWORD ihPal; - DWORD iStart; - DWORD cEntries; - PALETTEENTRY[1 + 0] aPalEntries; -} - -alias EMRSETPALETTEENTRIES TAGEMRSETPALETTEENTRIES; -alias EMRSETPALETTEENTRIES TEMRSETPALETTEENTRIES; -alias EMRSETPALETTEENTRIES* PEMRSETPALETTEENTRIES; - -struct EMRSETPIXELV -{ - EMR emr; - POINTL ptlPixel; - COLORREF crColor; -} - -alias EMRSETPIXELV TAGEMRSETPIXELV; -alias EMRSETPIXELV TEMRSETPIXELV; -alias EMRSETPIXELV* PEMRSETPIXELV; - -struct EMRSETVIEWPORTEXTEX -{ - EMR emr; - SIZEL szlExtent; -} - -alias EMRSETVIEWPORTEXTEX TAGEMRSETVIEWPORTEXTEX; -alias EMRSETVIEWPORTEXTEX TEMRSETVIEWPORTEXTEX; -alias EMRSETVIEWPORTEXTEX* PEMRSETVIEWPORTEXTEX; -alias EMRSETVIEWPORTEXTEX EMRSETWINDOWEXTEX; -alias EMRSETVIEWPORTEXTEX TEMRSETWINDOWEXTEX; -alias EMRSETVIEWPORTEXTEX* PEMRSETWINDOWEXTEX; - -struct EMRSETVIEWPORTORGEX -{ - EMR emr; - POINTL ptlOrigin; -} - -alias EMRSETVIEWPORTORGEX TAGEMRSETVIEWPORTORGEX; -alias EMRSETVIEWPORTORGEX TEMRSETVIEWPORTORGEX; -alias EMRSETVIEWPORTORGEX* PEMRSETVIEWPORTORGEX; -alias EMRSETVIEWPORTORGEX EMRSETWINDOWORGEX; -alias EMRSETVIEWPORTORGEX TEMRSETWINDOWORGEX; -alias EMRSETVIEWPORTORGEX* PEMRSETWINDOWORGEX; -alias EMRSETVIEWPORTORGEX EMRSETBRUSHORGEX; -alias EMRSETVIEWPORTORGEX TEMRSETBRUSHORGEX; -alias EMRSETVIEWPORTORGEX* PEMRSETBRUSHORGEX; - -struct EMRSETWORLDTRANSFORM -{ - EMR emr; - XFORM xform; -} - -alias EMRSETWORLDTRANSFORM TAGEMRSETWORLDTRANSFORM; -alias EMRSETWORLDTRANSFORM TEMRSETWORLDTRANSFORM; -alias EMRSETWORLDTRANSFORM* PEMRSETWORLDTRANSFORM; - -struct EMRSTRETCHBLT -{ - EMR emr; - RECTL rclBounds; - LONG xDest; - LONG yDest; - LONG cxDest; - LONG cyDest; - DWORD dwRop; - LONG xSrc; - LONG ySrc; - XFORM xformSrc; - COLORREF crBkColorSrc; - DWORD iUsageSrc; - DWORD offBmiSrc; - DWORD cbBmiSrc; - DWORD offBitsSrc; - DWORD cbBitsSrc; - LONG cxSrc; - LONG cySrc; -} - -alias EMRSTRETCHBLT TAGEMRSTRETCHBLT; -alias EMRSTRETCHBLT TEMRSTRETCHBLT; -alias EMRSTRETCHBLT* PEMRSTRETCHBLT; - -struct EMRSTRETCHDIBITS -{ - EMR emr; - RECTL rclBounds; - LONG xDest; - LONG yDest; - LONG xSrc; - LONG ySrc; - LONG cxSrc; - LONG cySrc; - DWORD offBmiSrc; - DWORD cbBmiSrc; - DWORD offBitsSrc; - DWORD cbBitsSrc; - DWORD iUsageSrc; - DWORD dwRop; - LONG cxDest; - LONG cyDest; -} - -alias EMRSTRETCHDIBITS TAGEMRSTRETCHDIBITS; -alias EMRSTRETCHDIBITS TEMRSTRETCHDIBITS; -alias EMRSTRETCHDIBITS* PEMRSTRETCHDIBITS; - -struct EMRABORTPATH -{ - EMR emr; -} - -alias EMRABORTPATH TEMRABORTPATH; -alias EMRABORTPATH* PEMRABORTPATH; -alias EMRABORTPATH TAGABORTPATH; -alias EMRABORTPATH TABORTPATH; -alias EMRABORTPATH EMRBEGINPATH; -alias EMRABORTPATH TEMRBEGINPATH; -alias EMRABORTPATH* PEMRBEGINPATH; -alias EMRABORTPATH EMRENDPATH; -alias EMRABORTPATH TEMRENDPATH; -alias EMRABORTPATH* PEMRENDPATH; -alias EMRABORTPATH EMRCLOSEFIGURE; -alias EMRABORTPATH TEMRCLOSEFIGURE; -alias EMRABORTPATH* PEMRCLOSEFIGURE; -alias EMRABORTPATH EMRFLATTENPATH; -alias EMRABORTPATH TEMRFLATTENPATH; -alias EMRABORTPATH* PEMRFLATTENPATH; -alias EMRABORTPATH EMRWIDENPATH; -alias EMRABORTPATH TEMRWIDENPATH; -alias EMRABORTPATH* PEMRWIDENPATH; -alias EMRABORTPATH EMRSETMETARGN; -alias EMRABORTPATH TEMRSETMETARGN; -alias EMRABORTPATH* PEMRSETMETARGN; -alias EMRABORTPATH EMRSAVEDC; -alias EMRABORTPATH TEMRSAVEDC; -alias EMRABORTPATH* PEMRSAVEDC; -alias EMRABORTPATH EMRREALIZEPALETTE; -alias EMRABORTPATH TEMRREALIZEPALETTE; -alias EMRABORTPATH* PEMRREALIZEPALETTE; - -struct EMRSELECTCLIPPATH -{ - EMR emr; - DWORD iMode; -} - -alias EMRSELECTCLIPPATH TAGEMRSELECTCLIPPATH; -alias EMRSELECTCLIPPATH TEMRSELECTCLIPPATH; -alias EMRSELECTCLIPPATH* PEMRSELECTCLIPPATH; -alias EMRSELECTCLIPPATH EMRSETBKMODE; -alias EMRSELECTCLIPPATH TEMRSETBKMODE; -alias EMRSELECTCLIPPATH* PEMRSETBKMODE; -alias EMRSELECTCLIPPATH EMRSETMAPMODE; -alias EMRSELECTCLIPPATH TEMRSETMAPMODE; -alias EMRSELECTCLIPPATH* PEMRSETMAPMODE; -alias EMRSELECTCLIPPATH EMRSETPOLYFILLMODE; -alias EMRSELECTCLIPPATH TEMRSETPOLYFILLMODE; -alias EMRSELECTCLIPPATH* PEMRSETPOLYFILLMODE; -alias EMRSELECTCLIPPATH EMRSETROP2; -alias EMRSELECTCLIPPATH TEMRSETROP2; -alias EMRSELECTCLIPPATH* PEMRSETROP2; -alias EMRSELECTCLIPPATH EMRSETSTRETCHBLTMODE; -alias EMRSELECTCLIPPATH TEMRSETSTRETCHBLTMODE; -alias EMRSELECTCLIPPATH* PEMRSETSTRETCHBLTMODE; -alias EMRSELECTCLIPPATH EMRSETTEXTALIGN; -alias EMRSELECTCLIPPATH TEMRSETTEXTALIGN; -alias EMRSELECTCLIPPATH* PEMRSETTEXTALIGN; -alias EMRSELECTCLIPPATH EMRENABLEICM; -alias EMRSELECTCLIPPATH TEMRENABLEICM; -alias EMRSELECTCLIPPATH* PEMRENABLEICM; - -struct NMHDR -{ - HWND hwndFrom; - UINT idFrom; - UINT code; -} - -alias NMHDR TAGNMHDR; -alias NMHDR TNMHDR; -alias NMHDR* PNMHDR; - -struct ENCORRECTTEXT -{ - NMHDR nmhdr; - CHARRANGE chrg; - ushort seltyp; -} - -alias ENCORRECTTEXT _ENCORRECTTEXT; -alias ENCORRECTTEXT TENCORRECTTEXT; -alias ENCORRECTTEXT* PENCORRECTTEXT; - -struct ENDROPFILES -{ - NMHDR nmhdr; - HANDLE hDrop; - LONG cp; - WINBOOL fProtected; -} - -alias ENDROPFILES _ENDROPFILES; -alias ENDROPFILES TENDROPFILES; -alias ENDROPFILES* PENDROPFILES; - -struct ENSAVECLIPBOARD -{ - NMHDR nmhdr; - LONG cObjectCount; - LONG cch; -} - -alias ENSAVECLIPBOARD TENSAVECLIPBOARD; -alias ENSAVECLIPBOARD* PENSAVECLIPBOARD; - -struct ENOLEOPFAILED -{ - NMHDR nmhdr; - LONG iob; - LONG lOper; - HRESULT hr; -} - -alias ENOLEOPFAILED TENOLEOPFAILED; -alias ENOLEOPFAILED* PENOLEOPFAILED; - -struct ENHMETAHEADER -{ - DWORD iType; - DWORD nSize; - RECTL rclBounds; - RECTL rclFrame; - DWORD dSignature; - DWORD nVersion; - DWORD nBytes; - DWORD nRecords; - ushort nHandles; - ushort sReserved; - DWORD nDescription; - DWORD offDescription; - DWORD nPalEntries; - SIZEL szlDevice; - SIZEL szlMillimeters; -} - -alias ENHMETAHEADER* LPENHMETAHEADER; -alias ENHMETAHEADER TAGENHMETAHEADER; -alias ENHMETAHEADER TENHMETAHEADER; -alias ENHMETAHEADER* PENHMETAHEADER; - -struct ENHMETARECORD -{ - DWORD iType; - DWORD nSize; - DWORD[1 + 0] dParm; -} - -alias ENHMETARECORD* LPENHMETARECORD; -alias ENHMETARECORD TAGENHMETARECORD; -alias ENHMETARECORD TENHMETARECORD; -alias ENHMETARECORD* PENHMETARECORD; - -struct ENPROTECTED -{ - NMHDR nmhdr; - UINT msg; - WPARAM wParam; - LPARAM lParam; - CHARRANGE chrg; -} - -alias ENPROTECTED _ENPROTECTED; -alias ENPROTECTED TENPROTECTED; -alias ENPROTECTED* PENPROTECTED; - -struct SERVICE_STATUS -{ - DWORD dwServiceType; - DWORD dwCurrentState; - DWORD dwControlsAccepted; - DWORD dwWin32ExitCode; - DWORD dwServiceSpecificExitCode; - DWORD dwCheckPoint; - DWORD dwWaitHint; -} - -alias SERVICE_STATUS* LPSERVICE_STATUS; -alias SERVICE_STATUS _SERVICE_STATUS; -alias SERVICE_STATUS TSERVICESTATUS; -alias SERVICE_STATUS* PSERVICESTATUS; - -struct ENUM_SERVICE_STATUS -{ - LPTSTR lpServiceName; - LPTSTR lpDisplayName; - SERVICE_STATUS ServiceStatus; -} - -alias ENUM_SERVICE_STATUS* LPENUM_SERVICE_STATUS; -alias ENUM_SERVICE_STATUS _ENUM_SERVICE_STATUS; -alias ENUM_SERVICE_STATUS TENUMSERVICESTATUS; -alias ENUM_SERVICE_STATUS* PENUMSERVICESTATUS; - -struct ENUMLOGFONTA { - LOGFONTA elfLogFont; - BYTE elfFullName[LF_FULLFACESIZE]; - BYTE elfStyle[LF_FACESIZE]; -} -struct ENUMLOGFONTW { - LOGFONTW elfLogFont; - WCHAR elfFullName[LF_FULLFACESIZE]; - WCHAR elfStyle[LF_FACESIZE]; -} -struct ENUMLOGFONTEXA { - LOGFONTA elfLogFont; - BYTE elfFullName[LF_FULLFACESIZE]; - BYTE elfStyle[LF_FACESIZE]; - BYTE elfScript[LF_FACESIZE]; -} -struct ENUMLOGFONTEXW { - LOGFONTW elfLogFont; - WCHAR elfFullName[LF_FULLFACESIZE]; - WCHAR elfStyle[LF_FACESIZE]; - WCHAR elfScript[LF_FACESIZE]; -} -version(Win32SansUnicode){ - alias ENUMLOGFONTA ENUMLOGFONT; - alias ENUMLOGFONTEXA ENUMLOGFONTEX; -}else { - alias ENUMLOGFONTW ENUMLOGFONT; - alias ENUMLOGFONTEXW ENUMLOGFONTEX; -} -alias ENUMLOGFONT TAGENUMLOGFONT; -alias ENUMLOGFONT TENUMLOGFONT; -alias ENUMLOGFONT* PENUMLOGFONT; -alias ENUMLOGFONTEX TAGENUMLOGFONTEX; -alias ENUMLOGFONTEX TENUMLOGFONTEX; -alias ENUMLOGFONTEX* PENUMLOGFONTEX; - -struct EVENTLOGRECORD -{ - DWORD Length; - DWORD Reserved; - DWORD RecordNumber; - DWORD TimeGenerated; - DWORD TimeWritten; - DWORD EventID; - ushort EventType; - ushort NumStrings; - ushort EventCategory; - ushort ReservedFlags; - DWORD ClosingRecordNumber; - DWORD StringOffset; - DWORD UserSidLength; - DWORD UserSidOffset; - DWORD DataLength; - DWORD DataOffset; -} - -alias EVENTLOGRECORD _EVENTLOGRECORD; -alias EVENTLOGRECORD TEVENTLOGRECORD; -alias EVENTLOGRECORD* PEVENTLOGRECORD; - -struct EVENTMSG -{ - UINT message; - UINT paramL; - UINT paramH; - DWORD time; - HWND hwnd; -} - -alias EVENTMSG TAGEVENTMSG; -alias EVENTMSG TEVENTMSG; -alias EVENTMSG* PEVENTMSG; - -struct EXCEPTION_POINTERS -{ - PEXCEPTION_RECORD ExceptionRecord; - PCONTEXT ContextRecord; -} - -alias EXCEPTION_POINTERS* LPEXCEPTION_POINTERS; -alias EXCEPTION_POINTERS* PEXCEPTION_POINTERS; -alias EXCEPTION_POINTERS _EXCEPTION_POINTERS; -alias EXCEPTION_POINTERS TEXCEPTIONPOINTERS; -alias EXCEPTION_POINTERS* PEXCEPTIONPOINTERS; - -struct EXT_BUTTON -{ - ushort idCommand; - ushort idsHelp; - ushort fsStyle; -} - -alias EXT_BUTTON* LPEXT_BUTTON; -alias EXT_BUTTON _EXT_BUTTON; -alias EXT_BUTTON TEXTBUTTON; -alias EXT_BUTTON* PEXTBUTTON; - -struct FILTERKEYS -{ - UINT cbSize; - DWORD dwFlags; - DWORD iWaitMSec; - DWORD iDelayMSec; - DWORD iRepeatMSec; - DWORD iBounceMSec; -} - -alias FILTERKEYS TAGFILTERKEYS; -alias FILTERKEYS TFILTERKEYS; -alias FILTERKEYS* PFILTERKEYS; - -struct FIND_NAME_BUFFER -{ - UCHAR length; - UCHAR access_control; - UCHAR frame_control; - UCHAR[1 + 5] destination_addr; - UCHAR[1 + 5] source_addr; - UCHAR[1 + 17] routing_info; -} - -alias FIND_NAME_BUFFER _FIND_NAME_BUFFER; -alias FIND_NAME_BUFFER TFINDNAMEBUFFER; -alias FIND_NAME_BUFFER* PFINDNAMEBUFFER; - -struct FIND_NAME_HEADER -{ - ushort node_count; - UCHAR reserved; - UCHAR unique_group; -} - -alias FIND_NAME_HEADER _FIND_NAME_HEADER; -alias FIND_NAME_HEADER TFINDNAMEHEADER; -alias FIND_NAME_HEADER* PFINDNAMEHEADER; - -struct FINDREPLACE -{ - DWORD lStructSize; - HWND hwndOwner; - HINST hInstance; - DWORD Flags; - LPTSTR lpstrFindWhat; - LPTSTR lpstrReplaceWith; - ushort wFindWhatLen; - ushort wReplaceWithLen; - LPARAM lCustData; - LPFRHOOKPROC lpfnHook; - LPCTSTR lpTemplateName; -} - -alias FINDREPLACE* LPFINDREPLACE; -alias FINDREPLACE TFINDREPLACE; -alias FINDREPLACE* PFINDREPLACE; - -struct TFINDTEXT -{ - CHARRANGE chrg; - LPSTR lpstrText; -} - -alias TFINDTEXT _FINDTEXT; -alias TFINDTEXT* PFINDTEXT; - -struct FINDTEXTEX -{ - CHARRANGE chrg; - LPSTR lpstrText; - CHARRANGE chrgText; -} - -alias FINDTEXTEX _FINDTEXTEX; -alias FINDTEXTEX TFINDTEXTEX; -alias FINDTEXTEX* PFINDTEXTEX; - -struct FMS_GETDRIVEINFO -{ - DWORD dwTotalSpace; - DWORD dwFreeSpace; - TCHAR[1 + 259] szPath; - TCHAR[1 + 13] szVolume; - TCHAR[1 + 127] szShare; -} - -alias FMS_GETDRIVEINFO _FMS_GETDRIVEINFO; -alias FMS_GETDRIVEINFO TFMSGETDRIVEINFO; -alias FMS_GETDRIVEINFO* PFMSGETDRIVEINFO; - -struct FMS_GETFILESEL -{ - FILETIME ftTime; - DWORD dwSize; - ubyte bAttr; - TCHAR[1 + 259] szName; -} - -alias FMS_GETFILESEL _FMS_GETFILESEL; -alias FMS_GETFILESEL TFMSGETFILESEL; -alias FMS_GETFILESEL* PFMSGETFILESEL; - -struct FMS_LOAD -{ - DWORD dwSize; - TCHAR[1 + MENU_TEXT_LEN-1] szMenuName; - HMENU hMenu; - UINT wMenuDelta; -} - -alias FMS_LOAD _FMS_LOAD; -alias FMS_LOAD TFMSLOAD; -alias FMS_LOAD* PFMSLOAD; - -struct FMS_TOOLBARLOAD -{ - DWORD dwSize; - LPEXT_BUTTON lpButtons; - ushort cButtons; - ushort cBitmaps; - ushort idBitmap; - HBITMAP hBitmap; -} - -alias FMS_TOOLBARLOAD _FMS_TOOLBARLOAD; -alias FMS_TOOLBARLOAD TFMSTOOLBARLOAD; -alias FMS_TOOLBARLOAD* PFMSTOOLBARLOAD; - -struct FOCUS_EVENT_RECORD -{ - WINBOOL bSetFocus; -} - -alias FOCUS_EVENT_RECORD _FOCUS_EVENT_RECORD; -alias FOCUS_EVENT_RECORD TFOCUSEVENTRECORD; -alias FOCUS_EVENT_RECORD* PFOCUSEVENTRECORD; - -struct FORM_INFO_1 -{ - DWORD Flags; - LPTSTR pName; - SIZEL Size; - RECTL ImageableArea; -} - -alias FORM_INFO_1 _FORM_INFO_1; -alias FORM_INFO_1 TFORMINFO1; -alias FORM_INFO_1* PFORMINFO1; - -struct FORMAT_PARAMETERS -{ - MEDIA_TYPE MediaType; - DWORD StartCylinderNumber; - DWORD EndCylinderNumber; - DWORD StartHeadNumber; - DWORD EndHeadNumber; -} - -alias FORMAT_PARAMETERS _FORMAT_PARAMETERS; -alias FORMAT_PARAMETERS TFORMATPARAMETERS; -alias FORMAT_PARAMETERS* PFORMATPARAMETERS; - -struct FORMATRANGE -{ - HDC _hdc; - HDC hdcTarget; - RECT rc; - RECT rcPage; - CHARRANGE chrg; -} - -alias FORMATRANGE _FORMATRANGE; -alias FORMATRANGE TFORMATRANGE; -alias FORMATRANGE* PFORMATRANGE; - -struct GCP_RESULTSA -{ - DWORD lStructSize; - LPSTR lpOutString; - UINT * lpOrder; - int * lpDx; - int * lpCaretPos; - LPSTR lpClass; - LPWSTR lpGlyphs; - UINT nGlyphs; - int nMaxFit; -} - -struct GCP_RESULTSW -{ - DWORD lStructSize; - LPWSTR lpOutString; - UINT * lpOrder; - int * lpDx; - int * lpCaretPos; - LPSTR lpClass; - LPWSTR lpGlyphs; - UINT nGlyphs; - int nMaxFit; -} -version(Win32SansUnicode) -{ - alias GCP_RESULTSA GCP_RESULTS; -} -else -{ - alias GCP_RESULTSW GCP_RESULTS; -} -alias GCP_RESULTS* LPGCP_RESULTS; -alias GCP_RESULTS TAGGCP_RESULTS; -alias GCP_RESULTS TGCPRESULTS; -alias GCP_RESULTS* PGCPRESULTS; - -struct GENERIC_MAPPING -{ - ACCESS_MASK GenericRead; - ACCESS_MASK GenericWrite; - ACCESS_MASK GenericExecute; - ACCESS_MASK GenericAll; -} - -alias GENERIC_MAPPING* PGENERIC_MAPPING; -alias GENERIC_MAPPING _GENERIC_MAPPING; -alias GENERIC_MAPPING TGENERICMAPPING; -alias GENERIC_MAPPING* PGENERICMAPPING; - -struct GLYPHMETRICS -{ - UINT gmBlackBoxX; - UINT gmBlackBoxY; - POINT gmptGlyphOrigin; - int gmCellIncX; - int gmCellIncY; -} - -alias GLYPHMETRICS* LPGLYPHMETRICS; -alias GLYPHMETRICS _GLYPHMETRICS; -alias GLYPHMETRICS TGLYPHMETRICS; -alias GLYPHMETRICS* PGLYPHMETRICS; - -struct HANDLETABLE -{ - HGDIOBJ[1 + 0] objectHandle; -} - -alias HANDLETABLE TAGHANDLETABLE; -alias HANDLETABLE THANDLETABLE; -alias HANDLETABLE* LPHANDLETABLE; - -struct HD_HITTESTINFO -{ - POINT pt; - UINT flags; - int iItem; -} - -alias HD_HITTESTINFO _HD_HITTESTINFO; -alias HD_HITTESTINFO THDHITTESTINFO; -alias HD_HITTESTINFO HDHITTESTINFO; -alias HD_HITTESTINFO* PHDHITTESTINFO; - -struct HD_ITEM -{ - UINT mask; - int cxy; - LPTSTR pszText; - HBITMAP hbm; - int cchTextMax; - int fmt; - LPARAM lParam; -} - -alias HD_ITEM _HD_ITEM; -alias HD_ITEM THDITEM; -alias HD_ITEM* PHDITEM; - -struct WINDOWPOS -{ - HWND _hwnd; - HWND hwndInsertAfter; - int x; - int y; - int cx; - int cy; - UINT flags; -} - -alias WINDOWPOS* LPWINDOWPOS; -alias WINDOWPOS _WINDOWPOS; -alias WINDOWPOS TWINDOWPOS; -alias WINDOWPOS* PWINDOWPOS; - -struct HD_LAYOUT -{ - RECT* prc; - WINDOWPOS* pwpos; -} - -alias HD_LAYOUT _HD_LAYOUT; -alias HD_LAYOUT THDLAYOUT; -alias HD_LAYOUT HDLAYOUT; -alias HD_LAYOUT* PHDLAYOUT; - -struct HD_NOTIFY -{ - NMHDR hdr; - int iItem; - int iButton; - HD_ITEM* pitem; -} - -alias HD_NOTIFY _HD_NOTIFY; -alias HD_NOTIFY THDNOTIFY; -alias HD_NOTIFY* PHDNOTIFY; - -struct HELPINFO -{ - UINT cbSize; - int iContextType; - int iCtrlId; - HANDLE hItemHandle; - DWORD dwContextId; - POINT MousePos; -} - -alias HELPINFO* LPHELPINFO; -alias HELPINFO TAGHELPINFO; -alias HELPINFO THELPINFO; -alias HELPINFO* PHELPINFO; - -struct HELPWININFO -{ - int wStructSize; - int x; - int y; - int dx; - int dy; - int wMax; - TCHAR[1 + 1] rgchMember; -} - -alias HELPWININFO THELPWININFO; -alias HELPWININFO* PHELPWININFO; - -struct HIGHCONTRASTA -{ - UINT cbSize; - DWORD dwFlags; - LPSTR lpszDefaultScheme; -} -struct HIGHCONTRASTW -{ - UINT cbSize; - DWORD dwFlags; - LPWSTR lpszDefaultScheme; -} -version(Win32SansUnicode) -{ - alias HIGHCONTRASTA HIGHCONTRAST; -} -else -{ - alias HIGHCONTRASTW HIGHCONTRAST; -} -alias HIGHCONTRAST* LPHIGHCONTRAST; -alias HIGHCONTRAST TAGHIGHCONTRAST; -alias HIGHCONTRAST THIGHCONTRAST; -alias HIGHCONTRAST* PHIGHCONTRAST; - -struct HSZPAIR -{ - HSZ hszSvc; - HSZ hszTopic; -} - -alias HSZPAIR TAGHSZPAIR; -alias HSZPAIR THSZPAIR; -alias HSZPAIR* PHSZPAIR; - -struct ICONINFO -{ - WINBOOL fIcon; - DWORD xHotspot; - DWORD yHotspot; - HBITMAP hbmMask; - HBITMAP hbmColor; -} - -alias ICONINFO _ICONINFO; -alias ICONINFO TICONINFO; -alias ICONINFO* PICONINFO; - -struct ICONMETRICS -{ - UINT cbSize; - int iHorzSpacing; - int iVertSpacing; - int iTitleWrap; - LOGFONT lfFont; -} - -alias ICONMETRICS* LPICONMETRICS; -alias ICONMETRICS TAGICONMETRICS; -alias ICONMETRICS TICONMETRICS; -alias ICONMETRICS* PICONMETRICS; - -struct IMAGEINFO -{ - HBITMAP hbmImage; - HBITMAP hbmMask; - int Unused1; - int Unused2; - RECT rcImage; -} - -alias IMAGEINFO _IMAGEINFO; -alias IMAGEINFO TIMAGEINFO; -alias IMAGEINFO* PIMAGEINFO; - -align(1) struct KEY_EVENT_RECORD -{ - WINBOOL bKeyDown; - ushort wRepeatCount; - ushort wVirtualKeyCode; - ushort wVirtualScanCode; - - union - { - struct - { - WCHAR UnicodeChar; - DWORD dwControlKeyState; - } - struct - { - char AsciiChar; - } - } -} - -alias KEY_EVENT_RECORD _KEY_EVENT_RECORD; -alias KEY_EVENT_RECORD TKEYEVENTRECORD; -alias KEY_EVENT_RECORD* PKEYEVENTRECORD; - -struct MOUSE_EVENT_RECORD -{ - COORD dwMousePosition; - DWORD dwButtonState; - DWORD dwControlKeyState; - DWORD dwEventFlags; -} - -alias MOUSE_EVENT_RECORD _MOUSE_EVENT_RECORD; -alias MOUSE_EVENT_RECORD TMOUSEEVENTRECORD; -alias MOUSE_EVENT_RECORD* PMOUSEEVENTRECORD; - -struct WINDOW_BUFFER_SIZE_RECORD -{ - COORD dwSize; -} - -alias WINDOW_BUFFER_SIZE_RECORD _WINDOW_BUFFER_SIZE_RECORD; -alias WINDOW_BUFFER_SIZE_RECORD TWINDOWBUFFERSIZERECORD; -alias WINDOW_BUFFER_SIZE_RECORD* PWINDOWBUFFERSIZERECORD; - -struct MENU_EVENT_RECORD -{ - UINT dwCommandId; -} - -alias MENU_EVENT_RECORD* PMENU_EVENT_RECORD; -alias MENU_EVENT_RECORD _MENU_EVENT_RECORD; -alias MENU_EVENT_RECORD TMENUEVENTRECORD; -alias MENU_EVENT_RECORD* PMENUEVENTRECORD; - -struct INPUT_RECORD -{ - ushort EventType; - - union - { - struct - { - KEY_EVENT_RECORD KeyEvent; - } - struct - { - MOUSE_EVENT_RECORD MouseEvent; - } - struct - { - WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; - } - struct - { - MENU_EVENT_RECORD MenuEvent; - } - struct - { - FOCUS_EVENT_RECORD FocusEvent; - } - } -} - -alias INPUT_RECORD* PINPUT_RECORD; -alias INPUT_RECORD _INPUT_RECORD; -alias INPUT_RECORD TINPUTRECORD; -alias INPUT_RECORD* PINPUTRECORD; - -struct SYSTEMTIME -{ - ushort wYear; - ushort wMonth; - ushort wDayOfWeek; - ushort wDay; - ushort wHour; - ushort wMinute; - ushort wSecond; - ushort wMilliseconds; -} - -alias SYSTEMTIME* LPSYSTEMTIME; -alias SYSTEMTIME _SYSTEMTIME; -alias SYSTEMTIME TSYSTEMTIME; -alias SYSTEMTIME* PSYSTEMTIME; - -struct JOB_INFO_1 -{ - DWORD JobId; - LPTSTR pPrinterName; - LPTSTR pMachineName; - LPTSTR pUserName; - LPTSTR pDocument; - LPTSTR pDatatype; - LPTSTR pStatus; - DWORD Status; - DWORD Priority; - DWORD Position; - DWORD TotalPages; - DWORD PagesPrinted; - SYSTEMTIME Submitted; -} - -alias JOB_INFO_1 _JOB_INFO_1; -alias JOB_INFO_1 TJOBINFO1; -alias JOB_INFO_1* PJOBINFO1; - -struct SID_IDENTIFIER_AUTHORITY -{ - ubyte[1 + 5] Value; -} - -alias SID_IDENTIFIER_AUTHORITY* LPSID_IDENTIFIER_AUTHORITY; -alias SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY; -alias SID_IDENTIFIER_AUTHORITY _SID_IDENTIFIER_AUTHORITY; -alias SID_IDENTIFIER_AUTHORITY TSIDIDENTIFIERAUTHORITY; -alias SID_IDENTIFIER_AUTHORITY* PSIDIDENTIFIERAUTHORITY; - -struct SID -{ - ubyte Revision; - ubyte SubAuthorityCount; - SID_IDENTIFIER_AUTHORITY IdentifierAuthority; - DWORD[1 + ANYSIZE_ARRAY-1] SubAuthority; -} - -alias SID _SID; -alias SID TSID; -alias SID* PSID; -alias ushort SECURITY_DESCRIPTOR_CONTROL; -alias SECURITY_DESCRIPTOR_CONTROL* PSECURITY_DESCRIPTOR_CONTROL; -alias SECURITY_DESCRIPTOR_CONTROL TSECURITYDESCRIPTORCONTROL; -alias SECURITY_DESCRIPTOR_CONTROL* PSECURITYDESCRIPTORCONTROL; - -struct SECURITY_DESCRIPTOR -{ - ubyte Revision; - ubyte Sbz1; - SECURITY_DESCRIPTOR_CONTROL Control; - PSID Owner; - PSID Group; - PACL Sacl; - PACL Dacl; -} - -alias SECURITY_DESCRIPTOR* PSECURITY_DESCRIPTOR; -alias SECURITY_DESCRIPTOR _SECURITY_DESCRIPTOR; -alias SECURITY_DESCRIPTOR TSECURITYDESCRIPTOR; -alias SECURITY_DESCRIPTOR* PSECURITYDESCRIPTOR; - -struct JOB_INFO_2 -{ - DWORD JobId; - LPTSTR pPrinterName; - LPTSTR pMachineName; - LPTSTR pUserName; - LPTSTR pDocument; - LPTSTR pNotifyName; - LPTSTR pDatatype; - LPTSTR pPrintProcessor; - LPTSTR pParameters; - LPTSTR pDriverName; - LPDEVMODE pDevMode; - LPTSTR pStatus; - PSECURITY_DESCRIPTOR pSecurityDescriptor; - DWORD Status; - DWORD Priority; - DWORD Position; - DWORD StartTime; - DWORD UntilTime; - DWORD TotalPages; - DWORD Size; - SYSTEMTIME Submitted; - DWORD Time; - DWORD PagesPrinted; -} - -alias JOB_INFO_2 _JOB_INFO_2; -alias JOB_INFO_2 TJOBINFO2; -alias JOB_INFO_2* PJOBINFO2; - -struct KERNINGPAIR -{ - ushort wFirst; - ushort wSecond; - int iKernAmount; -} - -alias KERNINGPAIR* LPKERNINGPAIR; -alias KERNINGPAIR TAGKERNINGPAIR; -alias KERNINGPAIR TKERNINGPAIR; -alias KERNINGPAIR* PKERNINGPAIR; - -struct LANA_ENUM -{ - UCHAR length; - UCHAR[1 + MAX_LANA-1] lana; -} - -alias LANA_ENUM _LANA_ENUM; -alias LANA_ENUM TLANAENUM; -alias LANA_ENUM* PLANAENUM; - -struct LDT_ENTRY -{ - ushort LimitLow; - ushort BaseLow; - - union - { - struct - { - ubyte BaseMid; - ubyte Flags1; - ubyte Flags2; - ubyte BaseHi; - } - struct - { - int flag0; - } - } -} - -alias LDT_ENTRY* LPLDT_ENTRY; -alias LDT_ENTRY* PLDT_ENTRY; -alias LDT_ENTRY _LDT_ENTRY; -alias LDT_ENTRY TLDTENTRY; -alias LDT_ENTRY* PLDTENTRY; -enum : DWORD { - bm_LDT_ENTRY_BaseMid = (0xFF), - bp_LDT_ENTRY_BaseMid = (0), - bm_LDT_ENTRY_Type = (0x1F00), - bp_LDT_ENTRY_Type = (8), - bm_LDT_ENTRY_Dpl = (0x6000), - bp_LDT_ENTRY_Dpl = (13), - bm_LDT_ENTRY_Pres = (0x8000), - bp_LDT_ENTRY_Pres = (15), - bm_LDT_ENTRY_LimitHi = (0xF0000), - bp_LDT_ENTRY_LimitHi = (16), - bm_LDT_ENTRY_Sys = (0x100000), - bp_LDT_ENTRY_Sys = (20), - bm_LDT_ENTRY_Reserved_0 = (0x200000), - bp_LDT_ENTRY_Reserved_0 = (21), - bm_LDT_ENTRY_Default_Big = (0x400000), - bp_LDT_ENTRY_Default_Big = (22), - bm_LDT_ENTRY_Granularity = (0x800000), - bp_LDT_ENTRY_Granularity = (23), - bm_LDT_ENTRY_BaseHi = (0xFF000000), - bp_LDT_ENTRY_BaseHi = (24), -} - -struct LOCALESIGNATURE -{ - DWORD[1 + 3] lsUsb; - DWORD[1 + 1] lsCsbDefault; - DWORD[1 + 1] lsCsbSupported; -} - -alias LOCALESIGNATURE TAGLOCALESIGNATURE; -alias LOCALESIGNATURE TLOCALESIGNATURE; -alias LOCALESIGNATURE* PLOCALESIGNATURE; - -struct LOCALGROUP_MEMBERS_INFO_0 -{ - PSID lgrmi0_sid; -} - -alias LOCALGROUP_MEMBERS_INFO_0 _LOCALGROUP_MEMBERS_INFO_0; -alias LOCALGROUP_MEMBERS_INFO_0 TLOCALGROUPMEMBERSINFO0; -alias LOCALGROUP_MEMBERS_INFO_0* PLOCALGROUPMEMBERSINFO0; - -struct LOCALGROUP_MEMBERS_INFO_3 -{ - LPWSTR lgrmi3_domainandname; -} - -alias LOCALGROUP_MEMBERS_INFO_3 _LOCALGROUP_MEMBERS_INFO_3; -alias LOCALGROUP_MEMBERS_INFO_3 TLOCALGROUPMEMBERSINFO3; -alias LOCALGROUP_MEMBERS_INFO_3* PLOCALGROUPMEMBERSINFO3; -alias int FXPT16DOT16; -alias FXPT16DOT16* LPFXPT16DOT16; -alias FXPT16DOT16 TFXPT16DOT16; -alias FXPT16DOT16* PFXPT16DOT16; -alias LARGE_INTEGER LUID; -alias LUID TLUID; -alias LUID* PLUID; - -struct LUID_AND_ATTRIBUTES -{ - LUID Luid; - DWORD Attributes; -} - -alias LUID_AND_ATTRIBUTES _LUID_AND_ATTRIBUTES; -alias LUID_AND_ATTRIBUTES TLUIDANDATTRIBUTES; -alias LUID_AND_ATTRIBUTES* PLUIDANDATTRIBUTES; -alias LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] LUID_AND_ATTRIBUTES_ARRAY; -alias LUID_AND_ATTRIBUTES_ARRAY* PLUID_AND_ATTRIBUTES_ARRAY; -alias LUID_AND_ATTRIBUTES_ARRAY TLUIDANDATTRIBUTESARRAY; -alias LUID_AND_ATTRIBUTES_ARRAY* PLUIDANDATTRIBUTESARRAY; - -struct LV_COLUMN -{ - UINT mask; - int fmt; - int cx; - LPTSTR pszText; - int cchTextMax; - int iSubItem; -} - -alias LV_COLUMN _LV_COLUMN; -alias LV_COLUMN TLVCOLUMN; -alias LV_COLUMN* PLVCOLUMN; - -struct LV_ITEM -{ - UINT mask; - int iItem; - int iSubItem; - UINT state; - UINT stateMask; - LPTSTR pszText; - int cchTextMax; - int iImage; - LPARAM lParam; -} - -alias LV_ITEM _LV_ITEM; -alias LV_ITEM TLVITEM; -alias LV_ITEM* PLVITEM; - -struct LV_DISPINFO -{ - NMHDR hdr; - LV_ITEM item; -} - -alias LV_DISPINFO TAGLV_DISPINFO; -alias LV_DISPINFO TLVDISPINFO; -alias LV_DISPINFO* PLVDISPINFO; - -struct LV_FINDINFO -{ - UINT flags; - LPCTSTR psz; - LPARAM lParam; - POINT pt; - UINT vkDirection; -} - -alias LV_FINDINFO _LV_FINDINFO; -alias LV_FINDINFO TLVFINDINFO; -alias LV_FINDINFO* PLVFINDINFO; - -struct LV_HITTESTINFO -{ - POINT pt; - UINT flags; - int iItem; -} - -alias LV_HITTESTINFO _LV_HITTESTINFO; -alias LV_HITTESTINFO TLVHITTESTINFO; -alias LV_HITTESTINFO* PLVHITTESTINFO; - -struct LV_KEYDOWN -{ - NMHDR hdr; - ushort wVKey; - UINT flags; -} - -alias LV_KEYDOWN TAGLV_KEYDOWN; -alias LV_KEYDOWN TLVKEYDOWN; -alias LV_KEYDOWN* PLVKEYDOWN; - -struct MAT2 -{ - FIXED eM11; - FIXED eM12; - FIXED eM21; - FIXED eM22; -} - -alias MAT2 _MAT2; -alias MAT2 TMAT2; -alias MAT2* PMAT2; - -struct MDICREATESTRUCT -{ - LPCTSTR szClass; - LPCTSTR szTitle; - HANDLE hOwner; - int x; - int y; - int cx; - int cy; - DWORD style; - LPARAM lParam; -} - -alias MDICREATESTRUCT* LPMDICREATESTRUCT; -alias MDICREATESTRUCT TAGMDICREATESTRUCT; -alias MDICREATESTRUCT TMDICREATESTRUCT; -alias MDICREATESTRUCT* PMDICREATESTRUCT; - -struct MEASUREITEMSTRUCT -{ - UINT CtlType; - UINT CtlID; - UINT itemID; - UINT itemWidth; - UINT itemHeight; - DWORD itemData; -} - -alias MEASUREITEMSTRUCT* LPMEASUREITEMSTRUCT; -alias MEASUREITEMSTRUCT TAGMEASUREITEMSTRUCT; -alias MEASUREITEMSTRUCT TMEASUREITEMSTRUCT; -alias MEASUREITEMSTRUCT* PMEASUREITEMSTRUCT; - -struct MEMORY_BASIC_INFORMATION -{ - PVOID BaseAddress; - PVOID AllocationBase; - DWORD AllocationProtect; - DWORD RegionSize; - DWORD State; - DWORD Protect; - DWORD _Type; -} - -alias MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION; -alias MEMORY_BASIC_INFORMATION _MEMORY_BASIC_INFORMATION; -alias MEMORY_BASIC_INFORMATION TMEMORYBASICINFORMATION; -alias MEMORY_BASIC_INFORMATION* PMEMORYBASICINFORMATION; - -struct MEMORYSTATUS -{ - DWORD dwLength; - DWORD dwMemoryLoad; - DWORD dwTotalPhys; - DWORD dwAvailPhys; - DWORD dwTotalPageFile; - DWORD dwAvailPageFile; - DWORD dwTotalVirtual; - DWORD dwAvailVirtual; -} - -alias MEMORYSTATUS* LPMEMORYSTATUS; -alias MEMORYSTATUS _MEMORYSTATUS; -alias MEMORYSTATUS TMEMORYSTATUS; -alias MEMORYSTATUS* PMEMORYSTATUS; - -struct MENUEX_TEMPLATE_HEADER -{ - ushort wVersion; - ushort wOffset; - DWORD dwHelpId; -} - -alias MENUEX_TEMPLATE_HEADER TMENUXTEMPLATEHEADER; -alias MENUEX_TEMPLATE_HEADER* PMENUXTEMPLATEHEADER; - -struct MENUEX_TEMPLATE_ITEM -{ - DWORD dwType; - DWORD dwState; - UINT uId; - ubyte bResInfo; - WCHAR[1 + 0] szText; - DWORD dwHelpId; -} - -alias MENUEX_TEMPLATE_ITEM TMENUEXTEMPLATEITEM; -alias MENUEX_TEMPLATE_ITEM* PMENUEXTEMPLATEITEM; - -/* -* Feature in Windows. The hbmpItem field requires Windows 4.10 -* or greater. On Windows NT 4.0, passing in a larger struct size -* in the cbSize field does nothing. On Windows 95, the MENUITEMINFO -* calls fail when the struct size is too large. The fix is to ensure -* that the correct struct size is used for the Windows platform. -*/ -struct MENUITEMINFOA -{ - UINT cbSize; - UINT fMask; - UINT fType; // used if MIIM_TYPE - UINT fState; // used if MIIM_STATE - UINT wID; // used if MIIM_ID - HMENU hSubMenu; // used if MIIM_SUBMENU - HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS - HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS - DWORD dwItemData; // used if MIIM_DATA - LPSTR dwTypeData; // used if MIIM_TYPE - UINT cch; // used if MIIM_TYPE - HBITMAP hbmpItem; -} -alias MENUITEMINFOA* PMENUITEMINFOA, LPMENUITEMINFOA; -struct MENUITEMINFOW -{ - UINT cbSize; - UINT fMask; - UINT fType; // used if MIIM_TYPE - UINT fState; // used if MIIM_STATE - UINT wID; // used if MIIM_ID - HMENU hSubMenu; // used if MIIM_SUBMENU - HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS - HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS - DWORD dwItemData; // used if MIIM_DATA - LPWSTR dwTypeData; // used if MIIM_TYPE - UINT cch; // used if MIIM_TYPE - HBITMAP hbmpItem; -} alias MENUITEMINFOW* PMENUITEMINFOW, LPMENUITEMINFOW; -version(Win32SansUnicode) -{ - alias MENUITEMINFOA MENUITEMINFO; -} -else -{ - alias MENUITEMINFOW MENUITEMINFO; -} -alias MENUITEMINFO * LPMENUITEMINFO; -alias MENUITEMINFO * LPCMENUITEMINFO; -alias MENUITEMINFO TAGMENUITEMINFO; -alias MENUITEMINFO TMENUITEMINFO; -alias MENUITEMINFO TMENUITEMINFOA; -alias MENUITEMINFO* PMENUITEMINFO; - -struct MENUITEMTEMPLATE -{ - ushort mtOption; - ushort mtID; - WCHAR[1 + 0] mtString; -} - -alias MENUITEMTEMPLATE TMENUITEMTEMPLATE; -alias MENUITEMTEMPLATE* PMENUITEMTEMPLATE; - -struct MENUITEMTEMPLATEHEADER -{ - ushort versionNumber; - ushort offset; -} - -alias MENUITEMTEMPLATEHEADER TMENUITEMTEMPLATEHEADER; -alias MENUITEMTEMPLATEHEADER* PMENUITEMTEMPLATEHEADER; - -struct MENUTEMPLATE -{ -} - -alias MENUTEMPLATE* LPMENUTEMPLATE; -alias MENUTEMPLATE TMENUTEMPLATE; -alias MENUTEMPLATE* PMENUTEMPLATE; - -struct METAFILEPICT -{ - LONG mm; - LONG xExt; - LONG yExt; - HMETAFILE hMF; -} - -alias METAFILEPICT* LPMETAFILEPICT; -alias METAFILEPICT TAGMETAFILEPICT; -alias METAFILEPICT TMETAFILEPICT; -alias METAFILEPICT* PMETAFILEPICT; - -align(1) struct METAHEADER -{ - ushort mtType; - ushort mtHeaderSize; - ushort mtVersion; - DWORD mtSize; - ushort mtNoObjects; - DWORD mtMaxRecord; - ushort mtNoParameters; -} - -alias METAHEADER TAGMETAHEADER; -alias METAHEADER TMETAHEADER; -alias METAHEADER* PMETAHEADER; - -struct METARECORD -{ - DWORD rdSize; - ushort rdFunction; - ushort[1 + 0] rdParm; -} - -alias METARECORD* LPMETARECORD; -alias METARECORD TAGMETARECORD; -alias METARECORD TMETARECORD; -alias METARECORD* PMETARECORD; - -struct MINIMIZEDMETRICS -{ - UINT cbSize; - int iWidth; - int iHorzGap; - int iVertGap; - int iArrange; -} - -alias MINIMIZEDMETRICS* LPMINIMIZEDMETRICS; -alias MINIMIZEDMETRICS TAGMINIMIZEDMETRICS; -alias MINIMIZEDMETRICS TMINIMIZEDMETRICS; -alias MINIMIZEDMETRICS* PMINIMIZEDMETRICS; - -struct MINMAXINFO -{ - POINT ptReserved; - POINT ptMaxSize; - POINT ptMaxPosition; - POINT ptMinTrackSize; - POINT ptMaxTrackSize; -} - -alias MINMAXINFO TAGMINMAXINFO; -alias MINMAXINFO TMINMAXINFO; -alias MINMAXINFO* PMINMAXINFO; - -struct MODEMDEVCAPS -{ - DWORD dwActualSize; - DWORD dwRequiredSize; - DWORD dwDevSpecificOffset; - DWORD dwDevSpecificSize; - DWORD dwModemProviderVersion; - DWORD dwModemManufacturerOffset; - DWORD dwModemManufacturerSize; - DWORD dwModemModelOffset; - DWORD dwModemModelSize; - DWORD dwModemVersionOffset; - DWORD dwModemVersionSize; - DWORD dwDialOptions; - DWORD dwCallSetupFailTimer; - DWORD dwInactivityTimeout; - DWORD dwSpeakerVolume; - DWORD dwSpeakerMode; - DWORD dwModemOptions; - DWORD dwMaxDTERate; - DWORD dwMaxDCERate; - ubyte[1 + 0] abVariablePortion; -} - -alias MODEMDEVCAPS* LPMODEMDEVCAPS; -alias MODEMDEVCAPS TMODEMDEVCAPS; -alias MODEMDEVCAPS* PMODEMDEVCAPS; -alias MODEMDEVCAPS MODEMDEVCAPS_TAG; - -struct MODEMSETTINGS -{ - DWORD dwActualSize; - DWORD dwRequiredSize; - DWORD dwDevSpecificOffset; - DWORD dwDevSpecificSize; - DWORD dwCallSetupFailTimer; - DWORD dwInactivityTimeout; - DWORD dwSpeakerVolume; - DWORD dwSpeakerMode; - DWORD dwPreferredModemOptions; - DWORD dwNegotiatedModemOptions; - DWORD dwNegotiatedDCERate; - ubyte[1 + 0] abVariablePortion; -} - -alias MODEMSETTINGS* LPMODEMSETTINGS; -alias MODEMSETTINGS TMODEMSETTINGS; -alias MODEMSETTINGS* PMODEMSETTINGS; -alias MODEMSETTINGS MODEMSETTINGS_TAG; - -struct MONCBSTRUCT -{ - UINT cb; - DWORD dwTime; - HANDLE hTask; - DWORD dwRet; - UINT wType; - UINT wFmt; - HCONV hConv; - HSZ hsz1; - HSZ hsz2; - HDDEDATA hData; - DWORD dwData1; - DWORD dwData2; - CONVCONTEXT cc; - DWORD cbData; - DWORD[1 + 7] Data; -} - -alias MONCBSTRUCT TAGMONCBSTRUCT; -alias MONCBSTRUCT TMONCBSTRUCT; -alias MONCBSTRUCT* PMONCBSTRUCT; - -struct MONCONVSTRUCT -{ - UINT cb; - WINBOOL fConnect; - DWORD dwTime; - HANDLE hTask; - HSZ hszSvc; - HSZ hszTopic; - HCONV hConvClient; - HCONV hConvServer; -} - -alias MONCONVSTRUCT TAGMONCONVSTRUCT; -alias MONCONVSTRUCT TMONCONVSTRUCT; -alias MONCONVSTRUCT* PMONCONVSTRUCT; - -struct MONERRSTRUCT -{ - UINT cb; - UINT wLastError; - DWORD dwTime; - HANDLE hTask; -} - -alias MONERRSTRUCT TAGMONERRSTRUCT; -alias MONERRSTRUCT TMONERRSTRUCT; -alias MONERRSTRUCT* PMONERRSTRUCT; - -struct MONHSZSTRUCT -{ - UINT cb; - WINBOOL fsAction; - DWORD dwTime; - HSZ hsz; - HANDLE hTask; - TCHAR[1 + 0] str; -} - -alias MONHSZSTRUCT TAGMONHSZSTRUCT; -alias MONHSZSTRUCT TMONHSZSTRUCT; -alias MONHSZSTRUCT* PMONHSZSTRUCT; - -struct MONITOR_INFO_1 -{ - LPTSTR pName; -} - -alias MONITOR_INFO_1 _MONITOR_INFO_1; -alias MONITOR_INFO_1 TMONITORINFO1; -alias MONITOR_INFO_1* PMONITORINFO1; - -struct MONITOR_INFO_2 -{ - LPTSTR pName; - LPTSTR pEnvironment; - LPTSTR pDLLName; -} - -alias MONITOR_INFO_2 _MONITOR_INFO_2; -alias MONITOR_INFO_2 TMONITORINFO2; -alias MONITOR_INFO_2* PMONITORINFO2; - -struct MONLINKSTRUCT -{ - UINT cb; - DWORD dwTime; - HANDLE hTask; - WINBOOL fEstablished; - WINBOOL fNoData; - HSZ hszSvc; - HSZ hszTopic; - HSZ hszItem; - UINT wFmt; - WINBOOL fServer; - HCONV hConvServer; - HCONV hConvClient; -} - -alias MONLINKSTRUCT TAGMONLINKSTRUCT; -alias MONLINKSTRUCT TMONLINKSTRUCT; -alias MONLINKSTRUCT* PMONLINKSTRUCT; - -struct MONMSGSTRUCT -{ - UINT cb; - HWND hwndTo; - DWORD dwTime; - HANDLE hTask; - UINT wMsg; - WPARAM wParam; - LPARAM lParam; - DDEML_MSG_HOOK_DATA dmhd; -} - -alias MONMSGSTRUCT TAGMONMSGSTRUCT; -alias MONMSGSTRUCT TMONMSGSTRUCT; -alias MONMSGSTRUCT* PMONMSGSTRUCT; - -struct MOUSEHOOKSTRUCT -{ - POINT pt; - HWND hwnd; - UINT wHitTestCode; - DWORD dwExtraInfo; -} - -alias MOUSEHOOKSTRUCT* LPMOUSEHOOKSTRUCT; -alias MOUSEHOOKSTRUCT TAGMOUSEHOOKSTRUCT; -alias MOUSEHOOKSTRUCT TMOUSEHOOKSTRUCT; -alias MOUSEHOOKSTRUCT* PMOUSEHOOKSTRUCT; - -struct MOUSEKEYS -{ - DWORD cbSize; - DWORD dwFlags; - DWORD iMaxSpeed; - DWORD iTimeToMaxSpeed; - DWORD iCtrlSpeed; - DWORD dwReserved1; - DWORD dwReserved2; -} - -alias MOUSEKEYS TMOUSEKEYS; -alias MOUSEKEYS* PMOUSEKEYS; - -struct MSG -{ - HWND hwnd; - UINT message; - WPARAM wParam; - LPARAM lParam; - DWORD time; - POINT pt; -} - -alias MSG* LPMSG; -alias MSG TAGMSG; -alias MSG TMSG; -alias MSG* PMSG; -extern(Windows){ -alias void (*MSGBOXCALLBACK)(LPHELPINFO); -} -alias MSGBOXCALLBACK TMSGBOXCALLBACK; - -struct MSGBOXPARAMS -{ - UINT cbSize; - HWND hwndOwner; - HINST hInstance; - LPCSTR lpszText; - LPCSTR lpszCaption; - DWORD dwStyle; - LPCSTR lpszIcon; - DWORD dwContextHelpId; - MSGBOXCALLBACK lpfnMsgBoxCallback; - DWORD dwLanguageId; -} - -alias MSGBOXPARAMS* LPMSGBOXPARAMS; -alias MSGBOXPARAMS TMSGBOXPARAMS; -alias MSGBOXPARAMS TMSGBOXPARAMSA; -alias MSGBOXPARAMS* PMSGBOXPARAMS; - -struct MSGFILTER -{ - NMHDR nmhdr; - UINT msg; - WPARAM wParam; - LPARAM lParam; -} - -alias MSGFILTER _MSGFILTER; -alias MSGFILTER TMSGFILTER; -alias MSGFILTER* PMSGFILTER; - -struct MULTIKEYHELP -{ - DWORD mkSize; - TCHAR mkKeylist; - TCHAR[1 + 0] szKeyphrase; -} - -alias MULTIKEYHELP TAGMULTIKEYHELP; -alias MULTIKEYHELP TMULTIKEYHELP; -alias MULTIKEYHELP* PMULTIKEYHELP; - -struct NAME_BUFFER -{ - UCHAR[1 + NCBNAMSZ-1] name; - UCHAR name_num; - UCHAR name_flags; -} - -alias NAME_BUFFER _NAME_BUFFER; -alias NAME_BUFFER TNAMEBUFFER; -alias NAME_BUFFER* PNAMEBUFFER; -alias _NCB* P_NCB; - -struct NCB -{ - UCHAR ncb_command; - UCHAR ncb_retcode; - UCHAR ncb_lsn; - UCHAR ncb_num; - PUCHAR ncb_buffer; - ushort ncb_length; - UCHAR[1 + NCBNAMSZ-1] ncb_callname; - UCHAR[1 + NCBNAMSZ-1] ncb_name; - UCHAR ncb_rto; - UCHAR ncb_sto; - POINTER ncb_post; - UCHAR ncb_lana_num; - UCHAR ncb_cmd_cplt; - UCHAR[1 + 9] ncb_reserve; - HANDLE ncb_event; -} - -alias NCB _NCB; -alias NCB TNCB; -alias NCB* PNCB; - -struct NCCALCSIZE_PARAMS -{ - RECT[1 + 2] rgrc; - PWINDOWPOS lppos; -} - -alias NCCALCSIZE_PARAMS _NCCALCSIZE_PARAMS; -alias NCCALCSIZE_PARAMS TNCCALCSIZEPARAMS; -alias NCCALCSIZE_PARAMS* PNCCALCSIZEPARAMS; - -struct NDDESHAREINFO -{ - LONG lRevision; - LPTSTR lpszShareName; - LONG lShareType; - LPTSTR lpszAppTopicList; - LONG fSharedFlag; - LONG fService; - LONG fStartAppFlag; - LONG nCmdShow; - LONG[1 + 1] qModifyId; - LONG cNumItems; - LPTSTR lpszItemList; -} - -alias NDDESHAREINFO _NDDESHAREINFO; -alias NDDESHAREINFO TNDDESHAREINFO; -alias NDDESHAREINFO* PNDDESHAREINFO; - -struct NETRESOURCE -{ - DWORD dwScope; - DWORD dwType; - DWORD dwDisplayType; - DWORD dwUsage; - LPTSTR lpLocalName; - LPTSTR lpRemoteName; - LPTSTR lpComment; - LPTSTR lpProvider; -} - -alias NETRESOURCE* LPNETRESOURCE; -alias NETRESOURCE _NETRESOURCE; -alias NETRESOURCE TNETRESOURCE; -alias NETRESOURCE TNETRESOURCEA; -alias NETRESOURCE* PNETRESOURCE; -alias NETRESOURCE* PNETRESOURCEA; - -struct NEWCPLINFO -{ - DWORD dwSize; - DWORD dwFlags; - DWORD dwHelpContext; - LONG lData; - HICON hIcon; - TCHAR[1 + 31] szName; - TCHAR[1 + 63] szInfo; - TCHAR[1 + 127] szHelpFile; -} - -alias NEWCPLINFO TAGNEWCPLINFO; -alias NEWCPLINFO TNEWCPLINFO; -alias NEWCPLINFO* PNEWCPLINFO; - -struct NEWTEXTMETRICA { - LONG tmHeight; - LONG tmAscent; - LONG tmDescent; - LONG tmInternalLeading; - LONG tmExternalLeading; - LONG tmAveCharWidth; - LONG tmMaxCharWidth; - LONG tmWeight; - LONG tmOverhang; - LONG tmDigitizedAspectX; - LONG tmDigitizedAspectY; - BYTE tmFirstChar; - BYTE tmLastChar; - BYTE tmDefaultChar; - BYTE tmBreakChar; - BYTE tmItalic; - BYTE tmUnderlined; - BYTE tmStruckOut; - BYTE tmPitchAndFamily; - BYTE tmCharSet; - DWORD ntmFlags; - UINT ntmSizeEM; - UINT ntmCellHeight; - UINT ntmAvgWidth; -} -struct NEWTEXTMETRICW { - LONG tmHeight; - LONG tmAscent; - LONG tmDescent; - LONG tmInternalLeading; - LONG tmExternalLeading; - LONG tmAveCharWidth; - LONG tmMaxCharWidth; - LONG tmWeight; - LONG tmOverhang; - LONG tmDigitizedAspectX; - LONG tmDigitizedAspectY; - WCHAR tmFirstChar; - WCHAR tmLastChar; - WCHAR tmDefaultChar; - WCHAR tmBreakChar; - BYTE tmItalic; - BYTE tmUnderlined; - BYTE tmStruckOut; - BYTE tmPitchAndFamily; - BYTE tmCharSet; - DWORD ntmFlags; - UINT ntmSizeEM; - UINT ntmCellHeight; - UINT ntmAvgWidth; -} - -struct NEWTEXTMETRICEXA -{ - NEWTEXTMETRICA ntmentm; - FONTSIGNATURE ntmeFontSignature; -} -struct NEWTEXTMETRICEXW -{ - NEWTEXTMETRICW ntmentm; - FONTSIGNATURE ntmeFontSignature; -} - - -version(Win32SansUnicode) -{ - alias NEWTEXTMETRICA NEWTEXTMETRIC; - alias NEWTEXTMETRICEXA NEWTEXTMETRICEX; -} -else -{ - alias NEWTEXTMETRICW NEWTEXTMETRIC; - alias NEWTEXTMETRICEXW NEWTEXTMETRICEX; -} - -alias NEWTEXTMETRIC TNEWTEXTMETRIC; -alias NEWTEXTMETRIC* PNEWTEXTMETRIC; -alias NEWTEXTMETRIC* LPNEWTEXTMETRIC; -alias NEWTEXTMETRIC TAGNEWTEXTMETRIC; -alias NEWTEXTMETRICEX TAGNEWTEXTMETRICEX; -alias NEWTEXTMETRICEX TNEWTEXTMETRICEX; -alias NEWTEXTMETRICEX* PNEWTEXTMETRICEX; - -struct NM_LISTVIEW -{ - NMHDR hdr; - int iItem; - int iSubItem; - UINT uNewState; - UINT uOldState; - UINT uChanged; - POINT ptAction; - LPARAM lParam; -} - -alias NM_LISTVIEW TAGNM_LISTVIEW; -alias NM_LISTVIEW TNMLISTVIEW; -alias NM_LISTVIEW* PNMLISTVIEW; - -struct TVITEMA -{ - UINT mask; - HTREEITEM hItem; - UINT state; - UINT stateMask; - LPSTR pszText; - int cchTextMax; - int iImage; - int iSelectedImage; - int cChildren; - LPARAM lParam; -} -struct TVITEMW -{ - UINT mask; - HTREEITEM hItem; - UINT state; - UINT stateMask; - LPWSTR pszText; - int cchTextMax; - int iImage; - int iSelectedImage; - int cChildren; - LPARAM lParam; -} -version(Win32SansUnicode) -{ - alias TVITEMA TVITEM; -} -else -{ - alias TVITEMW TVITEM; -} -alias TVITEM* LPTVITEM; -alias TVITEM* LPTV_ITEM; -alias TVITEM _TV_ITEM; -alias TVITEM TTVITEM; -alias TVITEM TV_ITEM; -alias TVITEM* PTVITEM; - -struct NMTREEVIEW -{ - NMHDR hdr; - UINT action; - TVITEM itemOld; - TVITEM itemNew; - POINT ptDrag; -} -alias NMTREEVIEW* PNMTREEVIEW; -alias NMTREEVIEW* LPNMTREEVIEW; -alias NMTREEVIEW NM_TREEVIEW; -alias NM_TREEVIEW* LPNM_TREEVIEW; -alias NM_TREEVIEW _NM_TREEVIEW; -alias NM_TREEVIEW TNMTREEVIEW; - -struct NM_UPDOWNW -{ - NMHDR hdr; - int iPos; - int iDelta; -} - -alias NM_UPDOWNW _NM_UPDOWN; -alias NM_UPDOWNW TNMUPDOWN; -alias NM_UPDOWNW* PNMUPDOWN; -alias NM_UPDOWNW NMUPDOWN; - -struct NONCLIENTMETRICSA { - int cbSize; - int iBorderWidth; - int iScrollWidth; - int iScrollHeight; - int iCaptionWidth; - int iCaptionHeight; - LOGFONTA lfCaptionFont; - int iSmCaptionWidth; - int iSmCaptionHeight; - LOGFONTA lfSmCaptionFont; - int iMenuWidth; - int iMenuHeight; - LOGFONTA lfMenuFont; - LOGFONTA lfStatusFont; - LOGFONTA lfMessageFont; -} -struct NONCLIENTMETRICSW { - int cbSize; - int iBorderWidth; - int iScrollWidth; - int iScrollHeight; - int iCaptionWidth; - int iCaptionHeight; - LOGFONTW lfCaptionFont; - int iSmCaptionWidth; - int iSmCaptionHeight; - LOGFONTW lfSmCaptionFont; - int iMenuWidth; - int iMenuHeight; - LOGFONTW lfMenuFont; - LOGFONTW lfStatusFont; - LOGFONTW lfMessageFont; -} -version(Win32SansUnicode) -{ - alias NONCLIENTMETRICSA NONCLIENTMETRICS; -} -else -{ - alias NONCLIENTMETRICSW NONCLIENTMETRICS; -} -alias NONCLIENTMETRICS* LPNONCLIENTMETRICS; -alias NONCLIENTMETRICS TAGNONCLIENTMETRICS; -alias NONCLIENTMETRICS TNONCLIENTMETRICS; -alias NONCLIENTMETRICS* PNONCLIENTMETRICS; - -struct SERVICE_ADDRESS -{ - DWORD dwAddressType; - DWORD dwAddressFlags; - DWORD dwAddressLength; - DWORD dwPrincipalLength; - ubyte* lpAddress; - ubyte* lpPrincipal; -} - -alias SERVICE_ADDRESS _SERVICE_ADDRESS; -alias SERVICE_ADDRESS TSERVICEADDRESS; -alias SERVICE_ADDRESS* PSERVICEADDRESS; - -struct SERVICE_ADDRESSES -{ - DWORD dwAddressCount; - SERVICE_ADDRESS[1 + 0] Addresses; -} - -alias SERVICE_ADDRESSES* LPSERVICE_ADDRESSES; -alias SERVICE_ADDRESSES _SERVICE_ADDRESSES; -alias SERVICE_ADDRESSES TSERVICEADDRESSES; -alias SERVICE_ADDRESSES* PSERVICEADDRESSES; - -align(1) struct __GUID -{ - - union - { - struct - { - uint Data1; - ushort Data2; - ushort Data3; - ubyte[1 + 7] Data4; - } - struct - { - uint D1; - ushort D2; - ushort D3; - ubyte[1 + 7] D4; - } - } -} - -alias __GUID* LPGUID; -alias __GUID _GUID; -alias __GUID GUID; -alias __GUID TGUID; -alias __GUID* PGUID; -alias __GUID __CLSID; -alias __CLSID* LPCLSID; -alias __CLSID TCLSID; -alias __CLSID* PCLSID; - -struct SERVICE_INFO -{ - LPGUID lpServiceType; - LPTSTR lpServiceName; - LPTSTR lpComment; - LPTSTR lpLocale; - DWORD dwDisplayHint; - DWORD dwVersion; - DWORD dwTime; - LPTSTR lpMachineName; - LPSERVICE_ADDRESSES lpServiceAddress; - BLOB ServiceSpecificInfo; -} - -alias SERVICE_INFO _SERVICE_INFO; -alias SERVICE_INFO TSERVICEINFO; -alias SERVICE_INFO* PSERVICEINFO; - -struct NS_SERVICE_INFO -{ - DWORD dwNameSpace; - SERVICE_INFO ServiceInfo; -} - -alias NS_SERVICE_INFO _NS_SERVICE_INFO; -alias NS_SERVICE_INFO TNSSERVICEINFO; -alias NS_SERVICE_INFO* PNSSERVICEINFO; - -struct NUMBERFMT -{ - UINT NumDigits; - UINT LeadingZero; - UINT Grouping; - LPTSTR lpDecimalSep; - LPTSTR lpThousandSep; - UINT NegativeOrder; -} - -alias NUMBERFMT _NUMBERFMT; -alias NUMBERFMT TNUMBERFMT; -alias NUMBERFMT* PNUMBERFMT; - -struct OFSTRUCT -{ - ubyte cBytes; - ubyte fFixedDisk; - ushort nErrCode; - ushort Reserved1; - ushort Reserved2; - char[1 + OFS_MAXPATHNAME-1] szPathName; -} - -alias OFSTRUCT* LPOFSTRUCT; -alias OFSTRUCT _OFSTRUCT; -alias OFSTRUCT TOFSTRUCT; -alias OFSTRUCT* POFSTRUCT; - -struct OPENFILENAME -{ - DWORD lStructSize; - HWND hwndOwner; - HINST hInstance; - LPCTSTR lpstrFilter; - LPTSTR lpstrCustomFilter; - DWORD nMaxCustFilter; - DWORD nFilterIndex; - LPTSTR lpstrFile; - DWORD nMaxFile; - LPTSTR lpstrFileTitle; - DWORD nMaxFileTitle; - LPCTSTR lpstrInitialDir; - LPCTSTR lpstrTitle; - DWORD Flags; - ushort nFileOffset; - ushort nFileExtension; - LPCTSTR lpstrDefExt; - DWORD lCustData; - LPOFNHOOKPROC lpfnHook; - LPCTSTR lpTemplateName; -} - -alias OPENFILENAME* LPOPENFILENAME; -alias OPENFILENAME TOPENFILENAME; -alias OPENFILENAME* POPENFILENAME; -alias OPENFILENAME TAGOFN; -alias OPENFILENAME TOFN; -alias OPENFILENAME* POFN; - -struct OFNOTIFY -{ - NMHDR hdr; - LPOPENFILENAME lpOFN; - LPTSTR pszFile; -} - -alias OFNOTIFY* LPOFNOTIFY; -alias OFNOTIFY _OFNOTIFY; -alias OFNOTIFY TOFNOTIFY; -alias OFNOTIFY* POFNOTIFY; - -struct OSVERSIONINFOA -{ - DWORD dwOSVersionInfoSize; - DWORD dwMajorVersion; - DWORD dwMinorVersion; - DWORD dwBuildNumber; - DWORD dwPlatformId; - CHAR szCSDVersion[ 128 ]; -} -alias OSVERSIONINFOA* POSVERSIONINFOA, LPOSVERSIONINFOA; - -struct OSVERSIONINFOW -{ - DWORD dwOSVersionInfoSize; - DWORD dwMajorVersion; - DWORD dwMinorVersion; - DWORD dwBuildNumber; - DWORD dwPlatformId; - WCHAR szCSDVersion[ 128 ]; -} -alias OSVERSIONINFOW* POSVERSIONINFOW, LPOSVERSIONINFOW; -version(Win32SansUnicode) -{ - alias OSVERSIONINFOA OSVERSIONINFO; -} -else -{ - alias OSVERSIONINFOW OSVERSIONINFO; -} -alias OSVERSIONINFO* LPOSVERSIONINFO; -alias OSVERSIONINFO _OSVERSIONINFO; -alias OSVERSIONINFO TOSVERSIONINFO; -alias OSVERSIONINFO* POSVERSIONINFO; - -struct TEXTMETRICA { - align(1): - LONG tmHeight; - LONG tmAscent; - LONG tmDescent; - LONG tmInternalLeading; - LONG tmExternalLeading; - LONG tmAveCharWidth; - LONG tmMaxCharWidth; - LONG tmWeight; - LONG tmOverhang; - LONG tmDigitizedAspectX; - LONG tmDigitizedAspectY; - - BYTE tmFirstChar; - BYTE tmLastChar; - BYTE tmDefaultChar; - BYTE tmBreakChar; - - BYTE tmItalic; - BYTE tmUnderlined; - BYTE tmStruckOut; - BYTE tmPitchAndFamily; - BYTE tmCharSet; -} -struct TEXTMETRICW { - align(1): - LONG tmHeight; - LONG tmAscent; - LONG tmDescent; - LONG tmInternalLeading; - LONG tmExternalLeading; - LONG tmAveCharWidth; - LONG tmMaxCharWidth; - LONG tmWeight; - LONG tmOverhang; - LONG tmDigitizedAspectX; - LONG tmDigitizedAspectY; - - WCHAR tmFirstChar; - WCHAR tmLastChar; - WCHAR tmDefaultChar; - WCHAR tmBreakChar; - - BYTE tmItalic; - BYTE tmUnderlined; - BYTE tmStruckOut; - BYTE tmPitchAndFamily; - BYTE tmCharSet; -} -version(Win32SansUnicode) -{ - alias TEXTMETRICA TEXTMETRIC; -} -else -{ - alias TEXTMETRICW TEXTMETRIC; -} -alias TEXTMETRIC* LPTEXTMETRIC; -alias TEXTMETRIC TAGTEXTMETRIC; -alias TEXTMETRIC TTEXTMETRIC; -alias TEXTMETRIC* PTEXTMETRIC; - -struct OUTLINETEXTMETRICA -{ - UINT otmSize; - TEXTMETRICA otmTextMetrics; - BYTE otmFiller; - PANOSE otmPanoseNumber; - UINT otmfsSelection; - UINT otmfsType; - int otmsCharSlopeRise; - int otmsCharSlopeRun; - int otmItalicAngle; - UINT otmEMSquare; - int otmAscent; - int otmDescent; - UINT otmLineGap; - UINT otmsCapEmHeight; - UINT otmsXHeight; - RECT otmrcFontBox; - int otmMacAscent; - int otmMacDescent; - UINT otmMacLineGap; - UINT otmusMinimumPPEM; - POINT otmptSubscriptSize; - POINT otmptSubscriptOffset; - POINT otmptSuperscriptSize; - POINT otmptSuperscriptOffset; - UINT otmsStrikeoutSize; - int otmsStrikeoutPosition; - int otmsUnderscoreSize; - int otmsUnderscorePosition; - PSTR otmpFamilyName; - PSTR otmpFaceName; - PSTR otmpStyleName; - PSTR otmpFullName; -} -struct OUTLINETEXTMETRICW -{ - UINT otmSize; - TEXTMETRICW otmTextMetrics; - BYTE otmFiller; - PANOSE otmPanoseNumber; - UINT otmfsSelection; - UINT otmfsType; - int otmsCharSlopeRise; - int otmsCharSlopeRun; - int otmItalicAngle; - UINT otmEMSquare; - int otmAscent; - int otmDescent; - UINT otmLineGap; - UINT otmsCapEmHeight; - UINT otmsXHeight; - RECT otmrcFontBox; - int otmMacAscent; - int otmMacDescent; - UINT otmMacLineGap; - UINT otmusMinimumPPEM; - POINT otmptSubscriptSize; - POINT otmptSubscriptOffset; - POINT otmptSuperscriptSize; - POINT otmptSuperscriptOffset; - UINT otmsStrikeoutSize; - int otmsStrikeoutPosition; - int otmsUnderscoreSize; - int otmsUnderscorePosition; - PSTR otmpFamilyName; - PSTR otmpFaceName; - PSTR otmpStyleName; - PSTR otmpFullName; -} - -alias OUTLINETEXTMETRIC* LPOUTLINETEXTMETRIC; -alias OUTLINETEXTMETRIC _OUTLINETEXTMETRIC; -alias OUTLINETEXTMETRIC TOUTLINETEXTMETRIC; -alias OUTLINETEXTMETRIC* POUTLINETEXTMETRIC; -version(Win32SansUnicode) -{ - alias OUTLINETEXTMETRICA OUTLINETEXTMETRIC; - alias OUTLINETEXTMETRICA* LPOUTLINETEXTMETRICA; -} -else -{ - alias OUTLINETEXTMETRICW OUTLINETEXTMETRIC; - alias OUTLINETEXTMETRICW* LPOUTLINETEXTMETRICW; -} - -struct OVERLAPPED -{ - DWORD Internal; - DWORD InternalHigh; - DWORD Offset; - DWORD OffsetHigh; - HANDLE hEvent; -} - -alias OVERLAPPED* LPOVERLAPPED; -alias OVERLAPPED _OVERLAPPED; -alias OVERLAPPED TOVERLAPPED; -alias OVERLAPPED* POVERLAPPED; - -struct TPAGESETUPDLG -{ - DWORD lStructSize; - HWND hwndOwner; - HGLOBAL hDevMode; - HGLOBAL hDevNames; - DWORD Flags; - POINT ptPaperSize; - RECT rtMinMargin; - RECT rtMargin; - HINST hInstance; - LPARAM lCustData; - LPPAGESETUPHOOK lpfnPageSetupHook; - LPPAGEPAINTHOOK lpfnPagePaintHook; - LPCTSTR lpPageSetupTemplateName; - HGLOBAL hPageSetupTemplate; -} - -alias TPAGESETUPDLG* LPPAGESETUPDLG; -alias TPAGESETUPDLG* PPAGESETUPDLG; -alias TPAGESETUPDLG TAGPSD; -alias TPAGESETUPDLG TPSD; -alias TPAGESETUPDLG* PPSD; - -struct PAINTSTRUCT -{ - HDC hdc; - WINBOOL fErase; - RECT rcPaint; - WINBOOL fRestore; - WINBOOL fIncUpdate; - ubyte[1 + 31] rgbReserved; -} - -alias PAINTSTRUCT* LPPAINTSTRUCT; -alias PAINTSTRUCT TAGPAINTSTRUCT; -alias PAINTSTRUCT TPAINTSTRUCT; -alias PAINTSTRUCT* PPAINTSTRUCT; - -struct PARAFORMAT -{ - UINT cbSize; - DWORD dwMask; - ushort wNumbering; - ushort wReserved; - LONG dxStartIndent; - LONG dxRightIndent; - LONG dxOffset; - ushort wAlignment; - SHORT cTabCount; - LONG[1 + MAX_TAB_STOPS-1] rgxTabs; -} - -alias PARAFORMAT _PARAFORMAT; -alias PARAFORMAT TPARAFORMAT; -alias PARAFORMAT* PPARAFORMAT; - -struct PERF_COUNTER_BLOCK -{ - DWORD ByteLength; -} - -alias PERF_COUNTER_BLOCK _PERF_COUNTER_BLOCK; -alias PERF_COUNTER_BLOCK TPERFCOUNTERBLOCK; -alias PERF_COUNTER_BLOCK* PPERFCOUNTERBLOCK; - -struct PERF_COUNTER_DEFINITION -{ - DWORD ByteLength; - DWORD CounterNameTitleIndex; - LPWSTR CounterNameTitle; - DWORD CounterHelpTitleIndex; - LPWSTR CounterHelpTitle; - DWORD DefaultScale; - DWORD DetailLevel; - DWORD CounterType; - DWORD CounterSize; - DWORD CounterOffset; -} - -alias PERF_COUNTER_DEFINITION _PERF_COUNTER_DEFINITION; -alias PERF_COUNTER_DEFINITION TPERFCOUNTERDEFINITION; -alias PERF_COUNTER_DEFINITION* PPERFCOUNTERDEFINITION; - -struct PERF_DATA_BLOCK -{ - WCHAR[1 + 3] Signature; - DWORD LittleEndian; - DWORD Version; - DWORD Revision; - DWORD TotalByteLength; - DWORD HeaderLength; - DWORD NumObjectTypes; - DWORD DefaultObject; - SYSTEMTIME SystemTime; - LARGE_INTEGER PerfTime; - LARGE_INTEGER PerfFreq; - LARGE_INTEGER PerfTime100nSec; - DWORD SystemNameLength; - DWORD SystemNameOffset; -} - -alias PERF_DATA_BLOCK _PERF_DATA_BLOCK; -alias PERF_DATA_BLOCK TPERFDATABLOCK; -alias PERF_DATA_BLOCK* PPERFDATABLOCK; - -struct PERF_INSTANCE_DEFINITION -{ - DWORD ByteLength; - DWORD ParentObjectTitleIndex; - DWORD ParentObjectInstance; - DWORD UniqueID; - DWORD NameOffset; - DWORD NameLength; -} - -alias PERF_INSTANCE_DEFINITION _PERF_INSTANCE_DEFINITION; -alias PERF_INSTANCE_DEFINITION TPERFINSTANCEDEFINITION; -alias PERF_INSTANCE_DEFINITION PPERFINSTANCEDEFINITION; - -struct PERF_OBJECT_TYPE -{ - DWORD TotalByteLength; - DWORD DefinitionLength; - DWORD HeaderLength; - DWORD ObjectNameTitleIndex; - LPWSTR ObjectNameTitle; - DWORD ObjectHelpTitleIndex; - LPWSTR ObjectHelpTitle; - DWORD DetailLevel; - DWORD NumCounters; - DWORD DefaultCounter; - DWORD NumInstances; - DWORD CodePage; - LARGE_INTEGER PerfTime; - LARGE_INTEGER PerfFreq; -} - -alias PERF_OBJECT_TYPE _PERF_OBJECT_TYPE; -alias PERF_OBJECT_TYPE TPERFOBJECTTYPE; -alias PERF_OBJECT_TYPE* PPERFOBJECTTYPE; - -struct POLYTEXT -{ - int x; - int y; - UINT n; - LPCTSTR lpstr; - UINT uiFlags; - RECT rcl; - int* pdx; -} - -alias POLYTEXT _POLYTEXT; -alias POLYTEXT TPOLYTEXT; -alias POLYTEXT* PPOLYTEXT; - -struct PORT_INFO_1 -{ - LPTSTR pName; -} - -alias PORT_INFO_1 _PORT_INFO_1; -alias PORT_INFO_1 TPORTINFO1; -alias PORT_INFO_1* PPORTINFO1; - -struct PORT_INFO_2 -{ - LPSTR pPortName; - LPSTR pMonitorName; - LPSTR pDescription; - DWORD fPortType; - DWORD Reserved; -} - -alias PORT_INFO_2 _PORT_INFO_2; -alias PORT_INFO_2 TPORTINFO2; -alias PORT_INFO_2* PPORTINFO2; - -struct PREVENT_MEDIA_REMOVAL -{ - ubyte PreventMediaRemoval; -} - -alias PREVENT_MEDIA_REMOVAL _PREVENT_MEDIA_REMOVAL; -alias PREVENT_MEDIA_REMOVAL TPREVENTMEDIAREMOVAL; -alias PREVENT_MEDIA_REMOVAL* PPREVENTMEDIAREMOVAL; - -align(1) struct TPRINTDLG -{ - DWORD lStructSize; - HWND hwndOwner; - HANDLE hDevMode; - HANDLE hDevNames; - HDC hDC; - DWORD Flags; - ushort nFromPage; - ushort nToPage; - ushort nMinPage; - ushort nMaxPage; - ushort nCopies; - HINST hInstance; - DWORD lCustData; - LPPRINTHOOKPROC lpfnPrintHook; - LPSETUPHOOKPROC lpfnSetupHook; - LPCTSTR lpPrintTemplateName; - LPCTSTR lpSetupTemplateName; - HANDLE hPrintTemplate; - HANDLE hSetupTemplate; -} - -alias TPRINTDLG* LPPRINTDLG; -alias TPRINTDLG* PPRINTDLG; -alias TPRINTDLG TAGPD; -alias TPRINTDLG TPD; -alias TPRINTDLG* PPD; - -struct PRINTER_DEFAULTS -{ - LPTSTR pDatatype; - LPDEVMODE pDevMode; - ACCESS_MASK DesiredAccess; -} - -alias PRINTER_DEFAULTS _PRINTER_DEFAULTS; -alias PRINTER_DEFAULTS TPRINTERDEFAULTS; -alias PRINTER_DEFAULTS* PPRINTERDEFAULTS; - -struct PRINTER_INFO_1 -{ - DWORD Flags; - LPTSTR pDescription; - LPTSTR pName; - LPTSTR pComment; -} - -alias PRINTER_INFO_1* LPPRINTER_INFO_1; -alias PRINTER_INFO_1* PPRINTER_INFO_1; -alias PRINTER_INFO_1 _PRINTER_INFO_1; -alias PRINTER_INFO_1 TPRINTERINFO1; -alias PRINTER_INFO_1* PPRINTERINFO1; - -struct PRINTER_INFO_2 -{ - LPTSTR pServerName; - LPTSTR pPrinterName; - LPTSTR pShareName; - LPTSTR pPortName; - LPTSTR pDriverName; - LPTSTR pComment; - LPTSTR pLocation; - LPDEVMODE pDevMode; - LPTSTR pSepFile; - LPTSTR pPrintProcessor; - LPTSTR pDatatype; - LPTSTR pParameters; - PSECURITY_DESCRIPTOR pSecurityDescriptor; - DWORD Attributes; - DWORD Priority; - DWORD DefaultPriority; - DWORD StartTime; - DWORD UntilTime; - DWORD Status; - DWORD cJobs; - DWORD AveragePPM; -} - -alias PRINTER_INFO_2 _PRINTER_INFO_2; -alias PRINTER_INFO_2 TPRINTERINFO2; -alias PRINTER_INFO_2* PPRINTERINFO2; - -struct PRINTER_INFO_3 -{ - PSECURITY_DESCRIPTOR pSecurityDescriptor; -} - -alias PRINTER_INFO_3 _PRINTER_INFO_3; -alias PRINTER_INFO_3 TPRINTERINFO3; -alias PRINTER_INFO_3* PPRINTERINFO3; - -struct PRINTER_INFO_4 -{ - LPTSTR pPrinterName; - LPTSTR pServerName; - DWORD Attributes; -} - -alias PRINTER_INFO_4 _PRINTER_INFO_4; -alias PRINTER_INFO_4 TPRINTERINFO4; -alias PRINTER_INFO_4* PPRINTERINFO4; - -struct PRINTER_INFO_5 -{ - LPTSTR pPrinterName; - LPTSTR pPortName; - DWORD Attributes; - DWORD DeviceNotSelectedTimeout; - DWORD TransmissionRetryTimeout; -} - -alias PRINTER_INFO_5 _PRINTER_INFO_5; -alias PRINTER_INFO_5 TPRINTERINFO5; -alias PRINTER_INFO_5* PPRINTERINFO5; - -struct PRINTER_NOTIFY_INFO_DATA -{ - ushort _Type; - ushort Field; - DWORD Reserved; - DWORD Id; - - union - { - struct - { - DWORD[1 + 1] adwData; - } - struct - { - DWORD cbBuf; - LPVOID pBuf; - } - } -} - -alias PRINTER_NOTIFY_INFO_DATA _PRINTER_NOTIFY_INFO_DATA; -alias PRINTER_NOTIFY_INFO_DATA TPRINTERNOTIFYINFODATA; -alias PRINTER_NOTIFY_INFO_DATA* PPRINTERNOTIFYINFODATA; - -struct PRINTER_NOTIFY_INFO -{ - DWORD Version; - DWORD Flags; - DWORD Count; - PRINTER_NOTIFY_INFO_DATA[1 + 0] aData; -} - -alias PRINTER_NOTIFY_INFO _PRINTER_NOTIFY_INFO; -alias PRINTER_NOTIFY_INFO TPRINTERNOTIFYINFO; -alias PRINTER_NOTIFY_INFO* PPRINTERNOTIFYINFO; - -struct PRINTER_NOTIFY_OPTIONS_TYPE -{ - ushort _Type; - ushort Reserved0; - DWORD Reserved1; - DWORD Reserved2; - DWORD Count; - PWORD pFields; -} - -alias PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTER_NOTIFY_OPTIONS_TYPE; -alias PRINTER_NOTIFY_OPTIONS_TYPE _PRINTER_NOTIFY_OPTIONS_TYPE; -alias PRINTER_NOTIFY_OPTIONS_TYPE TPRINTERNOTIFYOPTIONSTYPE; -alias PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTERNOTIFYOPTIONSTYPE; - -struct PRINTER_NOTIFY_OPTIONS -{ - DWORD Version; - DWORD Flags; - DWORD Count; - PPRINTER_NOTIFY_OPTIONS_TYPE pTypes; -} - -alias PRINTER_NOTIFY_OPTIONS _PRINTER_NOTIFY_OPTIONS; -alias PRINTER_NOTIFY_OPTIONS TPRINTERNOTIFYOPTIONS; -alias PRINTER_NOTIFY_OPTIONS* PPRINTERNOTIFYOPTIONS; - -struct PRINTPROCESSOR_INFO_1 -{ - LPTSTR pName; -} - -alias PRINTPROCESSOR_INFO_1 _PRINTPROCESSOR_INFO_1; -alias PRINTPROCESSOR_INFO_1 TPRINTPROCESSORINFO1; -alias PRINTPROCESSOR_INFO_1* PPRINTPROCESSORINFO1; - -struct PRIVILEGE_SET -{ - DWORD PrivilegeCount; - DWORD Control; - LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Privilege; -} - -alias PRIVILEGE_SET* LPPRIVILEGE_SET; -alias PRIVILEGE_SET* PPRIVILEGE_SET; -alias PRIVILEGE_SET _PRIVILEGE_SET; -alias PRIVILEGE_SET TPRIVILEGESET; -alias PRIVILEGE_SET* PPRIVILEGESET; - -struct PROCESS_HEAPENTRY -{ - PVOID lpData; - DWORD cbData; - ubyte cbOverhead; - ubyte iRegionIndex; - ushort wFlags; - DWORD dwCommittedSize; - DWORD dwUnCommittedSize; - LPVOID lpFirstBlock; - LPVOID lpLastBlock; - HANDLE hMem; -} - -alias PROCESS_HEAPENTRY* LPPROCESS_HEAP_ENTRY; -alias PROCESS_HEAPENTRY _PROCESS_HEAP_ENTRY; -alias PROCESS_HEAPENTRY TPROCESSHEAPENTRY; -alias PROCESS_HEAPENTRY* PPROCESSHEAPENTRY; - -struct PROCESS_INFORMATION -{ - HANDLE hProcess; - HANDLE hThread; - DWORD dwProcessId; - DWORD dwThreadId; -} - -alias PROCESS_INFORMATION* LPPROCESS_INFORMATION; -alias PROCESS_INFORMATION _PROCESS_INFORMATION; -alias PROCESS_INFORMATION TPROCESSINFORMATION; -alias PROCESS_INFORMATION* PPROCESSINFORMATION; -extern(Windows){alias UINT (*LPFNPSPCALLBACK)(HWND, UINT, LPVOID);} -alias LPFNPSPCALLBACK TFNPSPCALLBACK; - -struct PROPSHEETPAGE_U1 -{ - - union - { - struct - { - LPCTSTR pszTemplate; - } - struct - { - LPCDLGTEMPLATE pResource; - } - } -} - - -struct PROPSHEETPAGE_U2 -{ - - union - { - struct - { - HICON hIcon; - } - struct - { - LPCTSTR pszIcon; - } - } -} - - -struct PROPSHEETPAGE -{ - DWORD dwSize; - DWORD dwFlags; - HINST hInstance; - PROPSHEETPAGE_U1 u1; - PROPSHEETPAGE_U2 u2; - LPCTSTR pszTitle; - DLGPROC pfnDlgProc; - LPARAM lParam; - LPFNPSPCALLBACK pfnCallback; - UINT* pcRefParent; -} - -alias PROPSHEETPAGE* LPPROPSHEETPAGE; -alias PROPSHEETPAGE* LPCPROPSHEETPAGE; -alias PROPSHEETPAGE _PROPSHEETPAGE; -alias PROPSHEETPAGE TPROPSHEETPAGE; -alias PROPSHEETPAGE* PPROPSHEETPAGE; - -struct EMPTYRECORD -{ -} - -alias EMPTYRECORD* HPROPSHEETPAGE; - -struct PROPSHEETHEADER_U1 -{ - - union - { - struct - { - HICON hIcon; - } - struct - { - LPCTSTR pszIcon; - } - } -} - - -struct PROPSHEETHEADER_U2 -{ - - union - { - struct - { - UINT nStartPage; - } - struct - { - LPCTSTR pStartPage; - } - } -} - - -struct PROPSHEETHEADER_U3 -{ - - union - { - struct - { - LPCPROPSHEETPAGE ppsp; - } - struct - { - HPROPSHEETPAGE* phpage; - } - } -} - - -struct PROPSHEETHEADER -{ - DWORD dwSize; - DWORD dwFlags; - HWND hwndParent; - HINST hInstance; - PROPSHEETHEADER_U1 u1; - LPCTSTR pszCaption; - UINT nPages; - PROPSHEETHEADER_U2 u2; - PROPSHEETHEADER_U3 u3; - PFNPROPSHEETCALLBACK pfnCallback; -} - -alias PROPSHEETHEADER* LPPROPSHEETHEADER; -alias PROPSHEETHEADER* LPCPROPSHEETHEADER; -alias PROPSHEETHEADER _PROPSHEETHEADER; -alias PROPSHEETHEADER TPROPSHEETHEADER; -alias PROPSHEETHEADER* PPROPSHEETHEADER; -extern(Windows){ -alias WINBOOL (*LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM); -alias WINBOOL (*LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM); -} -alias LPFNADDPROPSHEETPAGE TFNADDPROPSHEETPAGE; -alias LPFNADDPROPSHEETPAGES TFNADDPROPSHEETPAGES; - -struct PROTOCOL_INFO -{ - DWORD dwServiceFlags; - INT iAddressFamily; - INT iMaxSockAddr; - INT iMinSockAddr; - INT iSocketType; - INT iProtocol; - DWORD dwMessageSize; - LPTSTR lpProtocol; -} - -alias PROTOCOL_INFO _PROTOCOL_INFO; -alias PROTOCOL_INFO TPROTOCOLINFO; -alias PROTOCOL_INFO* PPROTOCOLINFO; - -struct PROVIDOR_INFO_1 -{ - LPTSTR pName; - LPTSTR pEnvironment; - LPTSTR pDLLName; -} - -alias PROVIDOR_INFO_1 _PROVIDOR_INFO_1; -alias PROVIDOR_INFO_1 TPROVIDORINFO1; -alias PROVIDOR_INFO_1* PPROVIDORINFO1; - -struct PSHNOTIFY -{ - NMHDR hdr; - LPARAM lParam; -} - -alias PSHNOTIFY* LPPSHNOTIFY; -alias PSHNOTIFY _PSHNOTIFY; -alias PSHNOTIFY TPSHNOTIFY; -alias PSHNOTIFY* PPSHNOTIFY; - -struct PUNCTUATION -{ - UINT iSize; - LPSTR szPunctuation; -} - -alias PUNCTUATION _PUNCTUATION; -alias PUNCTUATION TPUNCTUATION; -alias PUNCTUATION* PPUNCTUATION; - -struct QUERY_SERVICE_CONFIG -{ - DWORD dwServiceType; - DWORD dwStartType; - DWORD dwErrorControl; - LPTSTR lpBinaryPathName; - LPTSTR lpLoadOrderGroup; - DWORD dwTagId; - LPTSTR lpDependencies; - LPTSTR lpServiceStartName; - LPTSTR lpDisplayName; -} - -alias QUERY_SERVICE_CONFIG* LPQUERY_SERVICE_CONFIG; -alias QUERY_SERVICE_CONFIG _QUERY_SERVICE_CONFIG; -alias QUERY_SERVICE_CONFIG TQUERYSERVICECONFIG; -alias QUERY_SERVICE_CONFIG* PQUERYSERVICECONFIG; - -struct QUERY_SERVICE_LOCK_STATUS -{ - DWORD fIsLocked; - LPTSTR lpLockOwner; - DWORD dwLockDuration; -} - -alias QUERY_SERVICE_LOCK_STATUS* LPQUERY_SERVICE_LOCK_STATUS; -alias QUERY_SERVICE_LOCK_STATUS _QUERY_SERVICE_LOCK_STATUS; -alias QUERY_SERVICE_LOCK_STATUS TQUERYSERVICELOCKSTATUS; -alias QUERY_SERVICE_LOCK_STATUS* PQUERYSERVICELOCKSTATUS; - -struct RASAMB -{ - DWORD dwSize; - DWORD dwError; - TCHAR[1 + NETBIOS_NAME_LEN+1-1] szNetBiosError; - ubyte bLana; -} - -alias RASAMB _RASAMB; -alias RASAMB TRASAMB; -alias RASAMB* PRASAMB; - -struct RASCONN -{ - DWORD dwSize; - HRASCONN hrasconn; - TCHAR[1 + RAS_MaxEntryName+1-1] szEntryName; - char[1 + RAS_MaxDeviceType+1-1] szDeviceType; - char[1 + RAS_MaxDeviceName+1-1] szDeviceName; -} - -alias RASCONN _RASCONN; -alias RASCONN TRASCONN; -alias RASCONN* PRASCONN; - -struct RASCONNSTATUS -{ - DWORD dwSize; - RASCONNSTATE rasconnstate; - DWORD dwError; - TCHAR[1 + RAS_MaxDeviceType+1-1] szDeviceType; - TCHAR[1 + RAS_MaxDeviceName+1-1] szDeviceName; -} - -alias RASCONNSTATUS _RASCONNSTATUS; -alias RASCONNSTATUS TRASCONNSTATUS; -alias RASCONNSTATUS* PRASCONNSTATUS; - -struct RASDIALEXTENSIONS -{ - DWORD dwSize; - DWORD dwfOptions; - HWND hwndParent; - DWORD reserved; -} - -alias RASDIALEXTENSIONS _RASDIALEXTENSIONS; -alias RASDIALEXTENSIONS TRASDIALEXTENSIONS; -alias RASDIALEXTENSIONS* PRASDIALEXTENSIONS; - -struct RASDIALPARAMS -{ - DWORD dwSize; - TCHAR[1 + RAS_MaxEntryName+1-1] szEntryName; - TCHAR[1 + RAS_MaxPhoneNumber+1-1] szPhoneNumber; - TCHAR[1 + (RAS_MaxCallbackNumber+1)-1] szCallbackNumber; - TCHAR[1 + (UNLEN+1)-1] szUserName; - TCHAR[1 + (PWLEN+1)-1] szPassword; - TCHAR[1 + (DNLEN+1)-1] szDomain; -} - -alias RASDIALPARAMS _RASDIALPARAMS; -alias RASDIALPARAMS TRASDIALPARAMS; -alias RASDIALPARAMS* PRASDIALPARAMS; - -struct RASENTRYNAME -{ - DWORD dwSize; - TCHAR[1 + (RAS_MaxEntryName+1)-1] szEntryName; -} - -alias RASENTRYNAME _RASENTRYNAME; -alias RASENTRYNAME TRASENTRYNAME; -alias RASENTRYNAME* PRASENTRYNAME; - -struct RASPPPIP -{ - DWORD dwSize; - DWORD dwError; - TCHAR[1 + (RAS_MaxIpAddress+1)-1] szIpAddress; -} - -alias RASPPPIP _RASPPPIP; -alias RASPPPIP TRASPPPIP; -alias RASPPPIP* PRASPPPIP; - -struct RASPPPIPX -{ - DWORD dwSize; - DWORD dwError; - TCHAR[1 + (RAS_MaxIpxAddress+1)-1] szIpxAddress; -} - -alias RASPPPIPX _RASPPPIPX; -alias RASPPPIPX TRASPPPIPX; -alias RASPPPIPX* PRASPPPIPX; - -struct RASPPPNBF -{ - DWORD dwSize; - DWORD dwError; - DWORD dwNetBiosError; - TCHAR[1 + (NETBIOS_NAME_LEN+1)-1] szNetBiosError; - TCHAR[1 + (NETBIOS_NAME_LEN+1)-1] szWorkstationName; - ubyte bLana; -} - -alias RASPPPNBF _RASPPPNBF; -alias RASPPPNBF TRASPPPNBF; -alias RASPPPNBF* PRASPPPNBF; - -struct RASTERIZER_STATUS -{ - int nSize; - int wFlags; - int nLanguageID; -} - -alias RASTERIZER_STATUS* LPRASTERIZER_STATUS; -alias RASTERIZER_STATUS _RASTERIZER_STATUS; -alias RASTERIZER_STATUS TRASTERIZERSTATUS; -alias RASTERIZER_STATUS* PRASTERIZERSTATUS; - -struct REASSIGN_BLOCKS -{ - ushort Reserved; - ushort Count; - DWORD[1 + 0] BlockNumber; -} - -alias REASSIGN_BLOCKS _REASSIGN_BLOCKS; -alias REASSIGN_BLOCKS TREASSIGNBLOCKS; -alias REASSIGN_BLOCKS* PREASSIGNBLOCKS; - -struct REMOTE_NAME_INFO -{ - LPTSTR lpUniversalName; - LPTSTR lpConnectionName; - LPTSTR lpRemainingPath; -} - -alias REMOTE_NAME_INFO _REMOTE_NAME_INFO; -alias REMOTE_NAME_INFO TREMOTENAMEINFO; -alias REMOTE_NAME_INFO* PREMOTENAMEINFO; - -struct REPASTESPECIAL -{ - DWORD dwAspect; - DWORD dwParam; -} - -alias REPASTESPECIAL _REPASTESPECIAL; -alias REPASTESPECIAL TREPASTESPECIAL; -alias REPASTESPECIAL* PREPASTESPECIAL; - -struct REQRESIZE -{ - NMHDR nmhdr; - RECT rc; -} - -alias REQRESIZE _REQRESIZE; -alias REQRESIZE TREQRESIZE; -alias REQRESIZE* PREQRESIZE; - -struct RGNDATAHEADER -{ - DWORD dwSize; - DWORD iType; - DWORD nCount; - DWORD nRgnSize; - RECT rcBound; -} - -alias RGNDATAHEADER _RGNDATAHEADER; -alias RGNDATAHEADER TRGNDATAHEADER; -alias RGNDATAHEADER* PRGNDATAHEADER; -alias RGNDATAHEADER* LPRGNDATAHEADER; - -struct RGNDATA -{ - RGNDATAHEADER rdh; - char[1 + 0] Buffer; -} - -alias RGNDATA* LPRGNDATA; -alias RGNDATA _RGNDATA; -alias RGNDATA TRGNDATA; -alias RGNDATA* PRGNDATA; - -struct SCROLLINFO -{ - UINT cbSize; - UINT fMask; - int nMin; - int nMax; - UINT nPage; - int nPos; - int nTrackPos; -} - -alias SCROLLINFO* LPSCROLLINFO; -alias SCROLLINFO* LPCSCROLLINFO; -alias SCROLLINFO TAGSCROLLINFO; -alias SCROLLINFO TSCROLLINFO; -alias SCROLLINFO* PSCROLLINFO; - -struct SECURITY_ATTRIBUTES -{ - DWORD nLength; - LPVOID lpSecurityDescriptor; - WINBOOL bInheritHandle; -} - -alias SECURITY_ATTRIBUTES* LPSECURITY_ATTRIBUTES; -alias SECURITY_ATTRIBUTES _SECURITY_ATTRIBUTES; -alias SECURITY_ATTRIBUTES TSECURITYATTRIBUTES; -alias SECURITY_ATTRIBUTES* PSECURITYATTRIBUTES; -alias DWORD SECURITY_INFORMATION; -alias SECURITY_INFORMATION* PSECURITY_INFORMATION; -alias SECURITY_INFORMATION TSECURITYINFORMATION; -alias SECURITY_INFORMATION* PSECURITYINFORMATION; - -struct SELCHANGE -{ - NMHDR nmhdr; - CHARRANGE chrg; - ushort seltyp; -} - -alias SELCHANGE _SELCHANGE; -alias SELCHANGE TSELCHANGE; -alias SELCHANGE* PSELCHANGE; - -struct SERIALKEYS -{ - DWORD cbSize; - DWORD dwFlags; - LPSTR lpszActivePort; - LPSTR lpszPort; - DWORD iBaudRate; - DWORD iPortState; -} - -alias SERIALKEYS* LPSERIALKEYS; -alias SERIALKEYS TAGSERIALKEYS; -alias SERIALKEYS TSERIALKEYS; -alias SERIALKEYS* PSERIALKEYS; - -struct SERVICE_TABLE_ENTRY -{ - LPTSTR lpServiceName; - LPSERVICE_MAIN_FUNCTION lpServiceProc; -} - -alias SERVICE_TABLE_ENTRY* LPSERVICE_TABLE_ENTRY; -alias SERVICE_TABLE_ENTRY _SERVICE_TABLE_ENTRY; -alias SERVICE_TABLE_ENTRY TSERVICETABLEENTRY; -alias SERVICE_TABLE_ENTRY* PSERVICETABLEENTRY; - -struct SERVICE_TYPE_VALUE_ABS -{ - DWORD dwNameSpace; - DWORD dwValueType; - DWORD dwValueSize; - LPTSTR lpValueName; - PVOID lpValue; -} - -alias SERVICE_TYPE_VALUE_ABS _SERVICE_TYPE_VALUE_ABS; -alias SERVICE_TYPE_VALUE_ABS TSERVICETYPEVALUEABS; -alias SERVICE_TYPE_VALUE_ABS* PSERVICETYPEVALUEABS; - -struct SERVICE_TYPE_INFO_ABS -{ - LPTSTR lpTypeName; - DWORD dwValueCount; - SERVICE_TYPE_VALUE_ABS[1 + 0] Values; -} - -alias SERVICE_TYPE_INFO_ABS _SERVICE_TYPE_INFO_ABS; -alias SERVICE_TYPE_INFO_ABS TSERVICETYPEINFOABS; -alias SERVICE_TYPE_INFO_ABS* PSERVICETYPEINFOABS; - -struct SESSION_BUFFER -{ - UCHAR lsn; - UCHAR state; - UCHAR[1 + NCBNAMSZ-1] local_name; - UCHAR[1 + NCBNAMSZ-1] remote_name; - UCHAR rcvs_outstanding; - UCHAR sends_outstanding; -} - -alias SESSION_BUFFER _SESSION_BUFFER; -alias SESSION_BUFFER TSESSIONBUFFER; -alias SESSION_BUFFER* PSESSIONBUFFER; - -struct SESSION_HEADER -{ - UCHAR sess_name; - UCHAR num_sess; - UCHAR rcv_dg_outstanding; - UCHAR rcv_any_outstanding; -} - -alias SESSION_HEADER _SESSION_HEADER; -alias SESSION_HEADER TSESSIONHEADER; -alias SESSION_HEADER* PSESSIONHEADER; - -struct SET_PARTITION_INFORMATION -{ - ubyte PartitionType; -} - -alias SET_PARTITION_INFORMATION _SET_PARTITION_INFORMATION; -alias SET_PARTITION_INFORMATION TSETPARTITIONINFORMATION; -alias SET_PARTITION_INFORMATION* PSETPARTITIONINFORMATION; -alias int SHCONTF; -enum { SHCONTF_FOLDERS = 32, SHCONTF_NONFOLDERS = 64, SHCONTF_INCLUDEHIDDEN = 128, }; -alias SHCONTF TAGSHCONTF; -alias SHCONTF TSHCONTF; - -struct SHFILEINFOA -{ - HICON hIcon; - int iIcon; - DWORD dwAttributes; - CHAR[MAX_PATH] szDisplayName; - CHAR[80] szTypeName; -} -struct SHFILEINFOW -{ - HICON hIcon; - int iIcon; - DWORD dwAttributes; - WCHAR[MAX_PATH] szDisplayName; - WCHAR[80] szTypeName; -} -version(Win32SansUnicode) -{ - alias SHFILEINFOA SHFILEINFO; -} -else -{ - alias SHFILEINFOW SHFILEINFO; -} - -alias SHFILEINFO _SHFILEINFO; -alias SHFILEINFO TSHFILEINFO; -alias SHFILEINFO* PSHFILEINFO; - -alias ushort FILEOP_FLAGS; -alias FILEOP_FLAGS TFILEOPFLAGS; -alias FILEOP_FLAGS* PFILEOPFLAGS; - -struct SHFILEOPSTRUCT -{ - HWND hwnd; - UINT wFunc; - LPCSTR pFrom; - LPCSTR pTo; - FILEOP_FLAGS fFlags; - WINBOOL fAnyOperationsAborted; - LPVOID hNameMappings; - LPCSTR lpszProgressTitle; -} - -alias SHFILEOPSTRUCT* LPSHFILEOPSTRUCT; -alias SHFILEOPSTRUCT _SHFILEOPSTRUCT; -alias SHFILEOPSTRUCT TSHFILEOPSTRUCT; -alias SHFILEOPSTRUCT* PSHFILEOPSTRUCT; -alias int SHGNO; -enum { SHGDN_NORMAL = 0, SHGDN_INFOLDER = 1, SHGDN_FORPARSING = 0x8000, }; -alias SHGNO TAGSHGDN; -alias SHGNO TSHGDN; - -struct SHNAMEMAPPING -{ - LPSTR pszOldPath; - LPSTR pszNewPath; - int cchOldPath; - int cchNewPath; -} - -alias SHNAMEMAPPING* LPSHNAMEMAPPING; -alias SHNAMEMAPPING _SHNAMEMAPPING; -alias SHNAMEMAPPING TSHNAMEMAPPING; -alias SHNAMEMAPPING* PSHNAMEMAPPING; - -struct SID_AND_ATTRIBUTES -{ - PSID Sid; - DWORD Attributes; -} - -alias SID_AND_ATTRIBUTES _SID_AND_ATTRIBUTES; -alias SID_AND_ATTRIBUTES TSIDANDATTRIBUTES; -alias SID_AND_ATTRIBUTES* PSIDANDATTRIBUTES; -alias SID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] SID_AND_ATTRIBUTES_ARRAY; -alias SID_AND_ATTRIBUTES_ARRAY* PSID_AND_ATTRIBUTES_ARRAY; -alias SID_AND_ATTRIBUTES_ARRAY TSIDANDATTRIBUTESARRAY; -alias SID_AND_ATTRIBUTES_ARRAY* PSIDANDATTRIBUTESARRAY; - -struct SINGLE_LIST_ENTRY -{ - _SINGLE_LIST_ENTRY* Next; -} - -alias SINGLE_LIST_ENTRY _SINGLE_LIST_ENTRY; -alias SINGLE_LIST_ENTRY TSINGLELISTENTRY; -alias SINGLE_LIST_ENTRY* PSINGLELISTENTRY; - -struct SOUNDSENTRY -{ - UINT cbSize; - DWORD dwFlags; - DWORD iFSTextEffect; - DWORD iFSTextEffectMSec; - DWORD iFSTextEffectColorBits; - DWORD iFSGrafEffect; - DWORD iFSGrafEffectMSec; - DWORD iFSGrafEffectColor; - DWORD iWindowsEffect; - DWORD iWindowsEffectMSec; - LPTSTR lpszWindowsEffectDLL; - DWORD iWindowsEffectOrdinal; -} - -alias SOUNDSENTRY* LPSOUNDSENTRY; -alias SOUNDSENTRY TAGSOUNDSENTRY; -alias SOUNDSENTRY TSOUNDSENTRY; -alias SOUNDSENTRY* PSOUNDSENTRY; - -struct STARTUPINFO -{ - DWORD cb; - LPTSTR lpReserved; - LPTSTR lpDesktop; - LPTSTR lpTitle; - DWORD dwX; - DWORD dwY; - DWORD dwXSize; - DWORD dwYSize; - DWORD dwXCountChars; - DWORD dwYCountChars; - DWORD dwFillAttribute; - DWORD dwFlags; - ushort wShowWindow; - ushort cbReserved2; - LPBYTE lpReserved2; - HANDLE hStdInput; - HANDLE hStdOutput; - HANDLE hStdError; -} - -alias STARTUPINFO* LPSTARTUPINFO; -alias STARTUPINFO _STARTUPINFO; -alias STARTUPINFO TSTARTUPINFO; -alias STARTUPINFO* PSTARTUPINFO; - -struct STICKYKEYS -{ - DWORD cbSize; - DWORD dwFlags; -} - -alias STICKYKEYS* LPSTICKYKEYS; -alias STICKYKEYS TAGSTICKYKEYS; -alias STICKYKEYS TSTICKYKEYS; -alias STICKYKEYS* PSTICKYKEYS; - -struct STRRET -{ - UINT uType; - - union - { - struct - { - LPWSTR pOleStr; - } - struct - { - UINT uOffset; - } - struct - { - char[1 + MAX_PATH-1] cStr; - } - } -} - -alias STRRET* LPSTRRET; -alias STRRET _STRRET; -alias STRRET TSTRRET; -alias STRRET* PSTRRET; - -struct STYLEBUF -{ - DWORD dwStyle; - char[1 + 31] szDescription; -} - -alias STYLEBUF* LPSTYLEBUF; -alias STYLEBUF _TAGSTYLEBUF; -alias STYLEBUF TSTYLEBUF; -alias STYLEBUF* PSTYLEBUF; - -struct STYLESTRUCT -{ - DWORD styleOld; - DWORD styleNew; -} - -alias STYLESTRUCT* LPSTYLESTRUCT; -alias STYLESTRUCT TAGSTYLESTRUCT; -alias STYLESTRUCT TSTYLESTRUCT; -alias STYLESTRUCT* PSTYLESTRUCT; - -struct SYSTEM_AUDIT_ACE -{ - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD SidStart; -} - -alias SYSTEM_AUDIT_ACE _SYSTEM_AUDIT_ACE; -alias SYSTEM_AUDIT_ACE TSYSTEMAUDITACE; -alias SYSTEM_AUDIT_ACE* PSYSTEMAUDITACE; - -struct SYSTEM_INFO_U -{ - - union - { - struct - { - DWORD dwOemId; - } - struct - { - ushort wProcessorArchitecture; - ushort wReserved; - } - } -} - - -struct SYSTEM_INFO -{ - SYSTEM_INFO_U u; - DWORD dwPageSize; - LPVOID lpMinimumApplicationAddress; - LPVOID lpMaximumApplicationAddress; - DWORD dwActiveProcessorMask; - DWORD dwNumberOfProcessors; - DWORD dwProcessorType; - DWORD dwAllocationGranularity; - ushort wProcessorLevel; - ushort wProcessorRevision; -} - -alias SYSTEM_INFO* LPSYSTEM_INFO; -alias SYSTEM_INFO _SYSTEM_INFO; -alias SYSTEM_INFO TSYSTEMINFO; -alias SYSTEM_INFO* PSYSTEMINFO; - -struct SYSTEM_POWER_STATUS -{ - ubyte ACLineStatus; - ubyte BatteryFlag; - ubyte BatteryLifePercent; - ubyte Reserved1; - DWORD BatteryLifeTime; - DWORD BatteryFullLifeTime; -} - -alias SYSTEM_POWER_STATUS _SYSTEM_POWER_STATUS; -alias SYSTEM_POWER_STATUS TSYSTEMPOWERSTATUS; -alias SYSTEM_POWER_STATUS* PSYSTEMPOWERSTATUS; -alias EMPTYRECORD* LPSYSTEM_POWER_STATUS; - -struct TAPE_ERASE -{ - ULONG _Type; -} - -alias TAPE_ERASE _TAPE_ERASE; -alias TAPE_ERASE TTAPEERASE; -alias TAPE_ERASE* PTAPEERASE; - -struct TAPE_GET_DRIVE_PARAMETERS -{ - ubyte ECC; - ubyte Compression; - ubyte DataPadding; - ubyte ReportSetmarks; - ULONG DefaultBlockSize; - ULONG MaximumBlockSize; - ULONG MinimumBlockSize; - ULONG MaximumPartitionCount; - ULONG FeaturesLow; - ULONG FeaturesHigh; - ULONG EOTWarningZoneSize; -} - -alias TAPE_GET_DRIVE_PARAMETERS _TAPE_GET_DRIVE_PARAMETERS; -alias TAPE_GET_DRIVE_PARAMETERS TTAPEGETDRIVEPARAMETERS; -alias TAPE_GET_DRIVE_PARAMETERS* PTAPEGETDRIVEPARAMETERS; - -struct TAPE_GET_MEDIA_PARAMETERS -{ - LARGE_INTEGER Capacity; - LARGE_INTEGER Remaining; - DWORD BlockSize; - DWORD PartitionCount; - ubyte WriteProtected; -} - -alias TAPE_GET_MEDIA_PARAMETERS _TAPE_GET_MEDIA_PARAMETERS; -alias TAPE_GET_MEDIA_PARAMETERS TTAPEGETMEDIAPARAMETERS; -alias TAPE_GET_MEDIA_PARAMETERS* PTAPEGETMEDIAPARAMETERS; - -struct TAPE_GET_POSITION -{ - ULONG _Type; - ULONG Partition; - ULONG OffsetLow; - ULONG OffsetHigh; -} - -alias TAPE_GET_POSITION _TAPE_GET_POSITION; -alias TAPE_GET_POSITION TTAPEGETPOSITION; -alias TAPE_GET_POSITION* PTAPEGETPOSITION; - -struct TAPE_PREPARE -{ - ULONG Operation; -} - -alias TAPE_PREPARE _TAPE_PREPARE; -alias TAPE_PREPARE TTAPEPREPARE; -alias TAPE_PREPARE* PTAPEPREPARE; - -struct TAPE_SET_DRIVE_PARAMETERS -{ - ubyte ECC; - ubyte Compression; - ubyte DataPadding; - ubyte ReportSetmarks; - ULONG EOTWarningZoneSize; -} - -alias TAPE_SET_DRIVE_PARAMETERS _TAPE_SET_DRIVE_PARAMETERS; -alias TAPE_SET_DRIVE_PARAMETERS TTAPESETDRIVEPARAMETERS; -alias TAPE_SET_DRIVE_PARAMETERS* PTAPESETDRIVEPARAMETERS; - -struct TAPE_SET_MEDIA_PARAMETERS -{ - ULONG BlockSize; -} - -alias TAPE_SET_MEDIA_PARAMETERS _TAPE_SET_MEDIA_PARAMETERS; -alias TAPE_SET_MEDIA_PARAMETERS TTAPESETMEDIAPARAMETERS; -alias TAPE_SET_MEDIA_PARAMETERS* PTAPESETMEDIAPARAMETERS; - -struct TAPE_SET_POSITION -{ - ULONG Method; - ULONG Partition; - ULONG OffsetLow; - ULONG OffsetHigh; -} - -alias TAPE_SET_POSITION _TAPE_SET_POSITION; -alias TAPE_SET_POSITION TTAPESETPOSITION; -alias TAPE_SET_POSITION* PTAPESETPOSITION; - -struct TAPE_WRITE_MARKS -{ - ULONG _Type; - ULONG Count; -} - -alias TAPE_WRITE_MARKS _TAPE_WRITE_MARKS; -alias TAPE_WRITE_MARKS TTAPEWRITEMARKS; -alias TAPE_WRITE_MARKS* PTAPEWRITEMARKS; - -struct TBADDBITMAP -{ - HINST hInst; - UINT nID; -} - -alias TBADDBITMAP* LPTBADDBITMAP; -alias TBADDBITMAP TTBADDBITMAP; -alias TBADDBITMAP* PTBADDBITMAP; - -struct TBBUTTON { - align(2): - int iBitmap; - int idCommand; - BYTE fsState; - BYTE fsStyle; -//#ifdef _WIN64 -// BYTE bReserved[6] // padding for alignment -//#elif defined(_WIN32) -// BYTE bReserved[2] // padding for alignment -//#endif - DWORD_PTR dwData; - INT_PTR iString; -} - -alias TBBUTTON* LPTBBUTTON; -alias TBBUTTON* LPCTBBUTTON; -alias TBBUTTON _TBBUTTON; -alias TBBUTTON TTBBUTTON; -alias TBBUTTON* PTBBUTTON; - -struct TBNOTIFY -{ - NMHDR hdr; - int iItem; - TBBUTTON tbButton; - int cchText; - LPTSTR pszText; -} - -alias TBNOTIFY* LPTBNOTIFY; -alias TBNOTIFY TTBNOTIFY; -alias TBNOTIFY* PTBNOTIFY; - -struct TBSAVEPARAMS -{ - HKEY hkr; - LPCTSTR pszSubKey; - LPCTSTR pszValueName; -} - -alias TBSAVEPARAMS TTBSAVEPARAMS; -alias TBSAVEPARAMS* PTBSAVEPARAMS; - -struct TC_HITTESTINFO -{ - POINT pt; - UINT flags; -} - -alias TC_HITTESTINFO TCHITTESTINFO; -alias TC_HITTESTINFO _TC_HITTESTINFO; -alias TC_HITTESTINFO TTCHITTESTINFO; -alias TC_HITTESTINFO* PTCHITTESTINFO; - -struct TC_ITEM -{ - UINT mask; - UINT lpReserved1; - UINT lpReserved2; - LPTSTR pszText; - int cchTextMax; - int iImage; - LPARAM lParam; -} - -alias TC_ITEM _TC_ITEM; -alias TC_ITEM TTCITEM; -alias TC_ITEM* PTCITEM; - -struct TC_ITEMHEADER -{ - UINT mask; - UINT lpReserved1; - UINT lpReserved2; - LPTSTR pszText; - int cchTextMax; - int iImage; -} - -alias TC_ITEMHEADER _TC_ITEMHEADER; -alias TC_ITEMHEADER TTCITEMHEADER; -alias TC_ITEMHEADER* PTCITEMHEADER; - -struct TC_KEYDOWN -{ - NMHDR hdr; - ushort wVKey; - UINT flags; -} - -alias TC_KEYDOWN _TC_KEYDOWN; -alias TC_KEYDOWN TTCKEYDOWN; -alias TC_KEYDOWN* PTCKEYDOWN; - -struct TEXTRANGE -{ - CHARRANGE chrg; - LPSTR lpstrText; -} - -alias TEXTRANGE _TEXTRANGE; -alias TEXTRANGE TTEXTRANGE; -alias TEXTRANGE* PTEXTRANGE; - -struct TIME_ZONE_INFORMATION -{ - LONG Bias; - WCHAR[1 + 31] StandardName; - SYSTEMTIME StandardDate; - LONG StandardBias; - WCHAR[1 + 31] DaylightName; - SYSTEMTIME DaylightDate; - LONG DaylightBias; -} - -alias TIME_ZONE_INFORMATION* LPTIME_ZONE_INFORMATION; -alias TIME_ZONE_INFORMATION _TIME_ZONE_INFORMATION; -alias TIME_ZONE_INFORMATION TTIMEZONEINFORMATION; -alias TIME_ZONE_INFORMATION* PTIMEZONEINFORMATION; - -struct TOGGLEKEYS -{ - DWORD cbSize; - DWORD dwFlags; -} - -alias TOGGLEKEYS TAGTOGGLEKEYS; -alias TOGGLEKEYS TTOGGLEKEYS; -alias TOGGLEKEYS* PTOGGLEKEYS; - -struct TOKEN_SOURCE -{ - char[1 + 7] SourceName; - LUID SourceIdentifier; -} - -alias TOKEN_SOURCE _TOKEN_SOURCE; -alias TOKEN_SOURCE TTOKENSOURCE; -alias TOKEN_SOURCE* PTOKENSOURCE; - -struct TOKEN_CONTROL -{ - LUID TokenId; - LUID AuthenticationId; - LUID ModifiedId; - TOKEN_SOURCE TokenSource; -} - -alias TOKEN_CONTROL _TOKEN_CONTROL; -alias TOKEN_CONTROL TTOKENCONTROL; -alias TOKEN_CONTROL* PTOKENCONTROL; - -struct TOKEN_DEFAULT_DACL -{ - PACL DefaultDacl; -} - -alias TOKEN_DEFAULT_DACL _TOKEN_DEFAULT_DACL; -alias TOKEN_DEFAULT_DACL TTOKENDEFAULTDACL; -alias TOKEN_DEFAULT_DACL* PTOKENDEFAULTDACL; - -struct TOKEN_GROUPS -{ - DWORD GroupCount; - SID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Groups; -} - -alias TOKEN_GROUPS* PTOKEN_GROUPS; -alias TOKEN_GROUPS* LPTOKEN_GROUPS; -alias TOKEN_GROUPS _TOKEN_GROUPS; -alias TOKEN_GROUPS TTOKENGROUPS; -alias TOKEN_GROUPS* PTOKENGROUPS; - -struct TOKEN_OWNER -{ - PSID Owner; -} - -alias TOKEN_OWNER _TOKEN_OWNER; -alias TOKEN_OWNER TTOKENOWNER; -alias TOKEN_OWNER* PTOKENOWNER; - -struct TOKEN_PRIMARY_GROUP -{ - PSID PrimaryGroup; -} - -alias TOKEN_PRIMARY_GROUP _TOKEN_PRIMARY_GROUP; -alias TOKEN_PRIMARY_GROUP TTOKENPRIMARYGROUP; -alias TOKEN_PRIMARY_GROUP* PTOKENPRIMARYGROUP; - -struct TOKEN_PRIVILEGES -{ - DWORD PrivilegeCount; - LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Privileges; -} - -alias TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES; -alias TOKEN_PRIVILEGES* LPTOKEN_PRIVILEGES; -alias TOKEN_PRIVILEGES _TOKEN_PRIVILEGES; -alias TOKEN_PRIVILEGES TTOKENPRIVILEGES; -alias TOKEN_PRIVILEGES* PTOKENPRIVILEGES; - -struct TOKEN_STATISTICS -{ - LUID TokenId; - LUID AuthenticationId; - LARGE_INTEGER ExpirationTime; - TOKEN_TYPE TokenType; - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; - DWORD DynamicCharged; - DWORD DynamicAvailable; - DWORD GroupCount; - DWORD PrivilegeCount; - LUID ModifiedId; -} - -alias TOKEN_STATISTICS _TOKEN_STATISTICS; -alias TOKEN_STATISTICS TTOKENSTATISTICS; -alias TOKEN_STATISTICS* PTOKENSTATISTICS; - -struct TOKEN_USER -{ - SID_AND_ATTRIBUTES User; -} - -alias TOKEN_USER _TOKEN_USER; -alias TOKEN_USER TTOKENUSER; -alias TOKEN_USER* PTOKENUSER; - -struct TOOLINFOA -{ - UINT cbSize; - UINT uFlags; - HWND hwnd; - UINT uId; - RECT rect; - HINST hinst; - LPSTR lpszText; -} -struct TOOLINFOW -{ - UINT cbSize; - UINT uFlags; - HWND hwnd; - UINT uId; - RECT rect; - HINST hinst; - LPWSTR lpszText; -} -version(Win32SansUnicode) -{ - alias TOOLINFOA TOOLINFO; -} -else -{ - alias TOOLINFOW TOOLINFO; -} -alias TOOLINFO* LPTOOLINFO; -alias TOOLINFO TTOOLINFO; -alias TOOLINFO* PTOOLINFO; - -struct TOOLTIPTEXTA -{ - NMHDR hdr; - LPSTR lpszText; - CHAR[80] szText; - HINST hinst; - UINT uFlags; -} -struct TOOLTIPTEXTW -{ - NMHDR hdr; - LPWSTR lpszText; - WCHAR[80] szText; - HINST hinst; - UINT uFlags; -} -version(Win32SansUnicode) -{ - alias TOOLTIPTEXTA TOOLTIPTEXT; -} -else -{ - alias TOOLTIPTEXTW TOOLTIPTEXT; -} -alias TOOLTIPTEXT* LPTOOLTIPTEXT; -alias TOOLTIPTEXT TTOOLTIPTEXT; -alias TOOLTIPTEXT* PTOOLTIPTEXT; - -struct TPMPARAMS -{ - UINT cbSize; - RECT rcExclude; -} - -alias TPMPARAMS* LPTPMPARAMS; -alias TPMPARAMS TAGTPMPARAMS; -alias TPMPARAMS TTPMPARAMS; -alias TPMPARAMS* PTPMPARAMS; - -struct TRANSMIT_FILE_BUFFERS -{ - PVOID Head; - DWORD HeadLength; - PVOID Tail; - DWORD TailLength; -} - -alias TRANSMIT_FILE_BUFFERS _TRANSMIT_FILE_BUFFERS; -alias TRANSMIT_FILE_BUFFERS TTRANSMITFILEBUFFERS; -alias TRANSMIT_FILE_BUFFERS* PTRANSMITFILEBUFFERS; - -struct TTHITTESTINFO -{ - HWND hwnd; - POINT pt; - TOOLINFO ti; -} - -alias TTHITTESTINFO* LPHITTESTINFO; -alias TTHITTESTINFO _TT_HITTESTINFO; -alias TTHITTESTINFO TTTHITTESTINFO; -alias TTHITTESTINFO* PTTHITTESTINFO; - -struct TTPOLYCURVE -{ - ushort wType; - ushort cpfx; - POINTFX[1 + 0] apfx; -} - -alias TTPOLYCURVE* LPTTPOLYCURVE; -alias TTPOLYCURVE TAGTTPOLYCURVE; -alias TTPOLYCURVE TTTPOLYCURVE; -alias TTPOLYCURVE* PTTPOLYCURVE; - -struct TTPOLYGONHEADER -{ - DWORD cb; - DWORD dwType; - POINTFX pfxStart; -} - -alias TTPOLYGONHEADER* LPTTPOLYGONHEADER; -alias TTPOLYGONHEADER _TTPOLYGONHEADER; -alias TTPOLYGONHEADER TTTPOLYGONHEADER; -alias TTPOLYGONHEADER* PTTPOLYGONHEADER; - -struct TV_DISPINFO -{ - NMHDR hdr; - TV_ITEM item; -} - -alias TV_DISPINFO _TV_DISPINFO; -alias TV_DISPINFO TTVDISPINFO; -alias TV_DISPINFO* PTVDISPINFO; - -struct TV_HITTESTINFO -{ - POINT pt; - UINT flags; - HTREEITEM hItem; -} - -alias TV_HITTESTINFO* LPTV_HITTESTINFO; -alias TV_HITTESTINFO _TVHITTESTINFO; -alias TV_HITTESTINFO TTVHITTESTINFO; -alias TV_HITTESTINFO* PTVHITTESTINFO; - -struct TVINSERTSTRUCTA -{ - HTREEITEM hParent; - HTREEITEM hInsertAfter; - TVITEMA item; -} -struct TVINSERTSTRUCTW -{ - HTREEITEM hParent; - HTREEITEM hInsertAfter; - TVITEMW item; -} -version(Win32SansUnicode) -{ - alias TVINSERTSTRUCTA TVINSERTSTRUCT; -} -else -{ - alias TVINSERTSTRUCTW TVINSERTSTRUCT; -} - -alias TVINSERTSTRUCT TV_INSERTSTRUCT; -alias TVINSERTSTRUCT* LPTV_INSERTSTRUCT; -alias TVINSERTSTRUCT _TV_INSERTSTRUCT; -alias TVINSERTSTRUCT TTVINSERTSTRUCT; -alias TVINSERTSTRUCT* PTVINSERTSTRUCT; - -struct TV_KEYDOWN -{ - NMHDR hdr; - ushort wVKey; - UINT flags; -} - -alias TV_KEYDOWN _TV_KEYDOWN; -alias TV_KEYDOWN TTVKEYDOWN; -alias TV_KEYDOWN* PTVKEYDOWN; - -struct TV_SORTCB -{ - HTREEITEM hParent; - PFNTVCOMPARE lpfnCompare; - LPARAM lParam; -} - -alias TV_SORTCB* LPTV_SORTCB; -alias TV_SORTCB _TV_SORTCB; -alias TV_SORTCB TTVSORTCB; -alias TV_SORTCB* PTVSORTCB; - -struct UDACCEL -{ - UINT nSec; - UINT nInc; -} - -alias UDACCEL TUDACCEL; -alias UDACCEL* PUDACCEL; - -union ULARGE_INTEGER -{ - struct - { - DWORD LowPart; - DWORD HighPart; - }; - struct u - { - DWORD LowPart; - DWORD HighPart; - }; - DWORDLONG QuadPart; -} -alias ULARGE_INTEGER* PULARGE_INTEGER; -alias ULARGE_INTEGER _ULARGE_INTEGER; -alias ULARGE_INTEGER TULARGEINTEGER; -alias ULARGE_INTEGER* PULARGEINTEGER; - -struct UNIVERSAL_NAME_INFO -{ - LPTSTR lpUniversalName; -} - -alias UNIVERSAL_NAME_INFO _UNIVERSAL_NAME_INFO; -alias UNIVERSAL_NAME_INFO TUNIVERSALNAMEINFO; -alias UNIVERSAL_NAME_INFO* PUNIVERSALNAMEINFO; - -struct USEROBJECTFLAGS -{ - WINBOOL fInherit; - WINBOOL fReserved; - DWORD dwFlags; -} - -alias USEROBJECTFLAGS TAGUSEROBJECTFLAGS; -alias USEROBJECTFLAGS TUSEROBJECTFLAGS; -alias USEROBJECTFLAGS* PUSEROBJECTFLAGS; - -struct VALENT -{ - LPTSTR ve_valuename; - DWORD ve_valuelen; - DWORD ve_valueptr; - DWORD ve_type; -} - -alias VALENT TVALENT; -alias VALENT* PVALENT; -alias VALENT VALUE_ENT; -alias VALENT TVALUE_ENT; -alias VALENT* PVALUE_ENT; - -struct VERIFY_INFORMATION -{ - LARGE_INTEGER StartingOffset; - DWORD Length; -} - -alias VERIFY_INFORMATION _VERIFY_INFORMATION; -alias VERIFY_INFORMATION TVERIFYINFORMATION; -alias VERIFY_INFORMATION* PVERIFYINFORMATION; - -struct VS_FIXEDFILEINFO -{ - DWORD dwSignature; - DWORD dwStrucVersion; - DWORD dwFileVersionMS; - DWORD dwFileVersionLS; - DWORD dwProductVersionMS; - DWORD dwProductVersionLS; - DWORD dwFileFlagsMask; - DWORD dwFileFlags; - DWORD dwFileOS; - DWORD dwFileType; - DWORD dwFileSubtype; - DWORD dwFileDateMS; - DWORD dwFileDateLS; -} - -alias VS_FIXEDFILEINFO _VS_FIXEDFILEINFO; -alias VS_FIXEDFILEINFO TVSFIXEDFILEINFO; -alias VS_FIXEDFILEINFO* PVSFIXEDFILEINFO; - -struct WIN32_FIND_DATA -{ - DWORD dwFileAttributes; - FILETIME ftCreationTime; - FILETIME ftLastAccessTime; - FILETIME ftLastWriteTime; - DWORD nFileSizeHigh; - DWORD nFileSizeLow; - DWORD dwReserved0; - DWORD dwReserved1; - TCHAR[1 + MAX_PATH-1] cFileName; - TCHAR[1 + 13] cAlternateFileName; -} - -alias WIN32_FIND_DATA* LPWIN32_FIND_DATA; -alias WIN32_FIND_DATA* PWIN32_FIND_DATA; -alias WIN32_FIND_DATA _WIN32_FIND_DATA; -alias WIN32_FIND_DATA TWIN32FINDDATA; -alias WIN32_FIND_DATA TWIN32FINDDATAA; -alias WIN32_FIND_DATA* PWIN32FINDDATA; - -struct WIN32_FIND_DATAW { - DWORD dwFileAttributes; - FILETIME ftCreationTime; - FILETIME ftLastAccessTime; - FILETIME ftLastWriteTime; - DWORD nFileSizeHigh; - DWORD nFileSizeLow; - DWORD dwReserved0; - DWORD dwReserved1; - WCHAR cFileName[MAX_PATH]; - WCHAR cAlternateFileName[14]; -} - -alias WIN32_FIND_DATAW* LPWIN32_FIND_DATAW; -alias WIN32_FIND_DATAW* PWIN32_FIND_DATAW; - -struct WIN32_FILE_ATTRIBUTE_DATA { - DWORD dwFileAttributes; - FILETIME ftCreationTime; - FILETIME ftLastAccessTime; - FILETIME ftLastWriteTime; - DWORD nFileSizeHigh; - DWORD nFileSizeLow; -} - -enum { - GetFileInfoLevelStandard, - GetFileInfoLevelMax -} - -struct WIN32_STREAM_ID -{ - DWORD dwStreamId; - DWORD dwStreamAttributes; - LARGE_INTEGER Size; - DWORD dwStreamNameSize; - WCHAR* cStreamName; -} - -alias WIN32_STREAM_ID _WIN32_STREAM_ID; -alias WIN32_STREAM_ID TWIN32STREAMID; -alias WIN32_STREAM_ID* PWIN32STREAMID; - -struct WINDOWPLACEMENT -{ - UINT length; - UINT flags; - UINT showCmd; - POINT ptMinPosition; - POINT ptMaxPosition; - RECT rcNormalPosition; -} - -alias WINDOWPLACEMENT _WINDOWPLACEMENT; -alias WINDOWPLACEMENT TWINDOWPLACEMENT; -alias WINDOWPLACEMENT* PWINDOWPLACEMENT; - -struct WNDCLASSA -{ - UINT style; - WNDPROC lpfnWndProc; - int cbClsExtra; - int cbWndExtra; - HANDLE hInstance; - HICON hIcon; - HCURSOR hCursor; - HBRUSH hbrBackground; - LPCTSTR lpszMenuName; - LPCTSTR lpszClassName; -} - -alias WNDCLASSA* PWNDCLASSA, LPWNDCLASSA; - -struct WNDCLASSW -{ - UINT style; - WNDPROC lpfnWndProc; - int cbClsExtra; - int cbWndExtra; - HINSTANCE hInstance; - HICON hIcon; - HCURSOR hCursor; - HBRUSH hbrBackground; - LPCWSTR lpszMenuName; - LPCWSTR lpszClassName; -} - -alias WNDCLASSW* PWNDCLASSW, LPWNDCLASSW; - -version(Win32SansUnicode) -{ - alias WNDCLASSA WNDCLASS; -} -else -{ - alias WNDCLASSW WNDCLASS; -} -alias WNDCLASS* LPWNDCLASS; -alias WNDCLASS _WNDCLASS; -alias WNDCLASS TWNDCLASS; -alias WNDCLASS WNDCLASS_T; -alias WNDCLASS* PWNDCLASS; - -struct WNDCLASSEX -{ - UINT cbSize; - UINT style; - WNDPROC lpfnWndProc; - int cbClsExtra; - int cbWndExtra; - HANDLE hInstance; - HICON hIcon; - HCURSOR hCursor; - HBRUSH hbrBackground; - LPCTSTR lpszMenuName; - LPCTSTR lpszClassName; - HANDLE hIconSm; -} - -alias WNDCLASSEX* LPWNDCLASSEX; -alias WNDCLASSEX _WNDCLASSEX; -alias WNDCLASSEX TWNDCLASSEX; -alias WNDCLASSEX TWNDCLASSEXA; -alias WNDCLASSEX* PWNDCLASSEX; - -struct CONNECTDLGSTRUCT -{ - DWORD cbStructure; - HWND hwndOwner; - LPNETRESOURCE lpConnRes; - DWORD dwFlags; - DWORD dwDevNum; -} - -alias CONNECTDLGSTRUCT* LPCONNECTDLGSTRUCT; -alias CONNECTDLGSTRUCT _CONNECTDLGSTRUCT; -alias CONNECTDLGSTRUCT TCONNECTDLGSTRUCT; -alias CONNECTDLGSTRUCT* PCONNECTDLGSTRUCT; - -struct DISCDLGSTRUCT -{ - DWORD cbStructure; - HWND hwndOwner; - LPTSTR lpLocalName; - LPTSTR lpRemoteName; - DWORD dwFlags; -} - -alias DISCDLGSTRUCT* LPDISCDLGSTRUCT; -alias DISCDLGSTRUCT _DISCDLGSTRUCT; -alias DISCDLGSTRUCT TDISCDLGSTRUCT; -alias DISCDLGSTRUCT TDISCDLGSTRUCTA; -alias DISCDLGSTRUCT* PDISCDLGSTRUCT; - -struct NETINFOSTRUCT -{ - DWORD cbStructure; - DWORD dwProviderVersion; - DWORD dwStatus; - DWORD dwCharacteristics; - DWORD dwHandle; - ushort wNetType; - DWORD dwPrinters; - DWORD dwDrives; -} - -alias NETINFOSTRUCT* LPNETINFOSTRUCT; -alias NETINFOSTRUCT _NETINFOSTRUCT; -alias NETINFOSTRUCT TNETINFOSTRUCT; -alias NETINFOSTRUCT* PNETINFOSTRUCT; - -struct NETCONNECTINFOSTRUCT -{ - DWORD cbStructure; - DWORD dwFlags; - DWORD dwSpeed; - DWORD dwDelay; - DWORD dwOptDataSize; -} - -alias NETCONNECTINFOSTRUCT* LPNETCONNECTINFOSTRUCT; -alias NETCONNECTINFOSTRUCT _NETCONNECTINFOSTRUCT; -alias NETCONNECTINFOSTRUCT TNETCONNECTINFOSTRUCT; -alias NETCONNECTINFOSTRUCT* PNETCONNECTINFOSTRUCT; -extern(Windows){ -alias int (*ENUMMETAFILEPROC)(HDC, HANDLETABLE, METARECORD, int, LPARAM); -alias int (*ENHMETAFILEPROC)(HDC, HANDLETABLE, ENHMETARECORD, int, LPARAM); -alias int (*ENUMFONTSPROC)(LPLOGFONT, LPTEXTMETRIC, DWORD, LPARAM); -alias int (*FONTENUMPROC)(ENUMLOGFONT*, NEWTEXTMETRIC*, int, LPARAM); -alias int (*FONTENUMEXPROC)(ENUMLOGFONTEX*, NEWTEXTMETRICEX*, int, LPARAM); -alias void (*LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD, DWORD); -} - -struct POINTFLOAT -{ - FLOAT x; - FLOAT y; -} - -alias POINTFLOAT _POINTFLOAT; -alias POINTFLOAT TPOINTFLOAT; -alias POINTFLOAT* PPOINTFLOAT; - -struct GLYPHMETRICSFLOAT -{ - FLOAT gmfBlackBoxX; - FLOAT gmfBlackBoxY; - POINTFLOAT gmfptGlyphOrigin; - FLOAT gmfCellIncX; - FLOAT gmfCellIncY; -} - -alias GLYPHMETRICSFLOAT* LPGLYPHMETRICSFLOAT; -alias GLYPHMETRICSFLOAT _GLYPHMETRICSFLOAT; -alias GLYPHMETRICSFLOAT TGLYPHMETRICSFLOAT; -alias GLYPHMETRICSFLOAT* PGLYPHMETRICSFLOAT; - -struct LAYERPLANEDESCRIPTOR -{ - ushort nSize; - ushort nVersion; - DWORD dwFlags; - ubyte iPixelType; - ubyte cColorBits; - ubyte cRedBits; - ubyte cRedShift; - ubyte cGreenBits; - ubyte cGreenShift; - ubyte cBlueBits; - ubyte cBlueShift; - ubyte cAlphaBits; - ubyte cAlphaShift; - ubyte cAccumBits; - ubyte cAccumRedBits; - ubyte cAccumGreenBits; - ubyte cAccumBlueBits; - ubyte cAccumAlphaBits; - ubyte cDepthBits; - ubyte cStencilBits; - ubyte cAuxBuffers; - ubyte iLayerPlane; - ubyte bReserved; - COLORREF crTransparent; -} - -alias LAYERPLANEDESCRIPTOR* LPLAYERPLANEDESCRIPTOR; -alias LAYERPLANEDESCRIPTOR TAGLAYERPLANEDESCRIPTOR; -alias LAYERPLANEDESCRIPTOR TLAYERPLANEDESCRIPTOR; -alias LAYERPLANEDESCRIPTOR* PLAYERPLANEDESCRIPTOR; - -struct PIXELFORMATDESCRIPTOR -{ - ushort nSize; - ushort nVersion; - DWORD dwFlags; - ubyte iPixelType; - ubyte cColorBits; - ubyte cRedBits; - ubyte cRedShift; - ubyte cGreenBits; - ubyte cGreenShift; - ubyte cBlueBits; - ubyte cBlueShift; - ubyte cAlphaBits; - ubyte cAlphaShift; - ubyte cAccumBits; - ubyte cAccumRedBits; - ubyte cAccumGreenBits; - ubyte cAccumBlueBits; - ubyte cAccumAlphaBits; - ubyte cDepthBits; - ubyte cStencilBits; - ubyte cAuxBuffers; - ubyte iLayerType; - ubyte bReserved; - DWORD dwLayerMask; - DWORD dwVisibleMask; - DWORD dwDamageMask; -} - -alias PIXELFORMATDESCRIPTOR* LPPIXELFORMATDESCRIPTOR; -alias PIXELFORMATDESCRIPTOR TAGPIXELFORMATDESCRIPTOR; -alias PIXELFORMATDESCRIPTOR TPIXELFORMATDESCRIPTOR; -alias PIXELFORMATDESCRIPTOR* PPIXELFORMATDESCRIPTOR; - -struct USER_INFO_2 -{ - LPWSTR usri2_name; - LPWSTR usri2_password; - DWORD usri2_password_age; - DWORD usri2_priv; - LPWSTR usri2_home_dir; - LPWSTR usri2_comment; - DWORD usri2_flags; - LPWSTR usri2_script_path; - DWORD usri2_auth_flags; - LPWSTR usri2_full_name; - LPWSTR usri2_usr_comment; - LPWSTR usri2_parms; - LPWSTR usri2_workstations; - DWORD usri2_last_logon; - DWORD usri2_last_logoff; - DWORD usri2_acct_expires; - DWORD usri2_max_storage; - DWORD usri2_units_per_week; - PBYTE usri2_logon_hours; - DWORD usri2_bad_pw_count; - DWORD usri2_num_logons; - LPWSTR usri2_logon_server; - DWORD usri2_country_code; - DWORD usri2_code_page; -} - -alias USER_INFO_2* PUSER_INFO_2; -alias USER_INFO_2* LPUSER_INFO_2; -alias USER_INFO_2 TUSERINFO2; -alias USER_INFO_2* PUSERINFO2; - -struct USER_INFO_0 -{ - LPWSTR usri0_name; -} - -alias USER_INFO_0* PUSER_INFO_0; -alias USER_INFO_0* LPUSER_INFO_0; -alias USER_INFO_0 TUSERINFO0; -alias USER_INFO_0* PUSERINFO0; - -struct USER_INFO_3 -{ - LPWSTR usri3_name; - LPWSTR usri3_password; - DWORD usri3_password_age; - DWORD usri3_priv; - LPWSTR usri3_home_dir; - LPWSTR usri3_comment; - DWORD usri3_flags; - LPWSTR usri3_script_path; - DWORD usri3_auth_flags; - LPWSTR usri3_full_name; - LPWSTR usri3_usr_comment; - LPWSTR usri3_parms; - LPWSTR usri3_workstations; - DWORD usri3_last_logon; - DWORD usri3_last_logoff; - DWORD usri3_acct_expires; - DWORD usri3_max_storage; - DWORD usri3_units_per_week; - PBYTE usri3_logon_hours; - DWORD usri3_bad_pw_count; - DWORD usri3_num_logons; - LPWSTR usri3_logon_server; - DWORD usri3_country_code; - DWORD usri3_code_page; - DWORD usri3_user_id; - DWORD usri3_primary_group_id; - LPWSTR usri3_profile; - LPWSTR usri3_home_dir_drive; - DWORD usri3_password_expired; -} - -alias USER_INFO_3* PUSER_INFO_3; -alias USER_INFO_3* LPUSER_INFO_3; -alias USER_INFO_3 TUSERINFO3; -alias USER_INFO_3* PUSERINFO3; - -struct GROUP_INFO_2 -{ - LPWSTR grpi2_name; - LPWSTR grpi2_comment; - DWORD grpi2_group_id; - DWORD grpi2_attributes; -} - -alias GROUP_INFO_2* PGROUP_INFO_2; -alias GROUP_INFO_2 TGROUPINFO2; -alias GROUP_INFO_2* PGROUPINFO2; - -struct LOCALGROUP_INFO_0 -{ - LPWSTR lgrpi0_name; -} - -alias LOCALGROUP_INFO_0* PLOCALGROUP_INFO_0; -alias LOCALGROUP_INFO_0* LPLOCALGROUP_INFO_0; -alias LOCALGROUP_INFO_0 TLOCALGROUPINFO0; -alias LOCALGROUP_INFO_0* PLOCALGROUPINFO0; - -struct IMAGE_DOS_HEADER -{ - ushort e_magic; - ushort e_cblp; - ushort e_cp; - ushort e_crlc; - ushort e_cparhdr; - ushort e_minalloc; - ushort e_maxalloc; - ushort e_ss; - ushort e_sp; - ushort e_csum; - ushort e_ip; - ushort e_cs; - ushort e_lfarlc; - ushort e_ovno; - ushort[1 + 3] e_res; - ushort e_oemid; - ushort e_oeminfo; - ushort[1 + 9] e_res2; - LONG e_lfanew; -} - -alias IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER; -alias IMAGE_DOS_HEADER TIMAGEDOSHEADER; -alias IMAGE_DOS_HEADER* PIMAGEDOSHEADER; -alias ushort TVARTYPE; -alias TVARIANT* PVARIANT; - -struct TVARIANT -{ - TVARTYPE vt; - ushort wReserved1; - ushort wReserved2; - ushort wReserved3; - - union - { - struct - { - ubyte bVal; - } - struct - { - byte iVal; - } - struct - { - int lVal; - } - struct - { - float fltVal; - } - struct - { - double dblVal; - } - struct - { - ushort vbool; - } - struct - { - HRESULT scode; - } - struct - { - ubyte* pbVal; - } - struct - { - byte* piVal; - } - struct - { - int* plVal; - } - struct - { - float* pfltVal; - } - struct - { - double* pdblVal; - } - struct - { - ushort* pbool; - } - struct - { - HRESULT* pscode; - } - struct - { - POINTER byRef; - } - } -} - -alias TVARIANT VARIANT; -alias int MMRESULT; -alias TWAVEFORMATEX* PWAVEFORMATEX; - -align(1) struct TWAVEFORMATEX -{ - ushort wFormatTag; - ushort nChannels; - DWORD nSamplesPerSec; - DWORD nAvgBytesPerSec; - ushort nBlockAlign; - ushort wBitsPerSample; - ushort cbSize; -} - -alias CRITICAL_SECTION TRTLCRITICALSECTION; -alias PCRITICAL_SECTION PRTLCRITICALSECTION; -alias PGUID PIID; -alias TGUID TIID; -alias HANDLE THANDLE; -alias TSMALLRECT* PSMALLRECT; -alias SMALL_RECT TSMALLRECT; -alias TCHARINFO* PCHARINFO; -alias _CHAR_INFO TCHARINFO; -alias POINTER TFARPROC; -alias POINTER TFNDLGPROC; -alias POINTER TFNTHREADSTARTROUTINE; - -struct _OBJECT_TYPE_LIST -{ - ushort Level; - ushort Sbz; - PGUID ObjectType; -} - -alias _OBJECT_TYPE_LIST TOBJECTTYPELIST; -alias TOBJECTTYPELIST* POBJECTTYPELIST; -alias _OBJECT_TYPE_LIST OBJECT_TYPE_LIST; -alias DWORD AUDIT_EVENT_TYPE; - -align(1) struct _BLENDFUNCTION -{ - ubyte BlendOp; - ubyte BlendFlags; - ubyte SourceConstantAlpha; - ubyte AlphaFormat; -} - -alias _BLENDFUNCTION TBLENDFUNCTION; -alias TBLENDFUNCTION* PBLENDFUNCTION; -alias _BLENDFUNCTION BLENDFUNCTION; - -alias HANDLE HMONITOR; - -struct tagMONITORINFOEX -{ - DWORD cbSize; - RECT rcMonitor; - RECT rcWork; - DWORD dwFlags; - TCHAR szDevice[CCHDEVICENAME]; -} -alias tagMONITORINFOEX MONITORINFOEX; -alias MONITORINFOEX* LPMONITORINFOEX; - -struct tagMONITORINFO -{ - DWORD cbSize; - RECT rcMonitor; - RECT rcWork; - DWORD dwFlags; -} -alias tagMONITORINFO MONITORINFO; -alias MONITORINFO* LPMONITORINFO; - -struct WINDOWINFO -{ - DWORD cbSize; - RECT rcWindow; - RECT rcClient; - DWORD dwStyle; - DWORD dwExStyle; - DWORD dwWindowStatus; - UINT cxWindowBorders; - UINT cyWindowBorders; - ATOM atomWindowType; - short wCreatorVersion; -}; -alias WINDOWINFO* PWINDOWINFO; -alias WINDOWINFO* LPWINDOWINFO; - -enum : HRESULT -{ - S_OK = 0x00000000, - S_FALSE = 0x00000001, - E_UNEXPECTED = 0x8000FFFF, - E_NOTIMPL = 0x80004001, - E_OUTOFMEMORY = 0x8007000E, - E_INVALIDARG = 0x80070057, - E_NOINTERFACE = 0x80004002, - E_POINTER = 0x80004003, - E_HANDLE = 0x80070006, - E_ABORT = 0x80004004, - E_FAIL = 0x80004005, - E_ACCESSDENIED = 0x80070005, - E_PENDING = 0x8000000A, -} - -/* -int CO_E_INIT_TLS = (DWORD)((0x80004006)); -int CO_E_INIT_MEMORY_ALLOCATOR = (DWORD)((0x80004008)); -int CO_E_INIT_CLASS_CACHE = (DWORD)((0x80004009)); -int CO_E_INIT_RPC_CHANNEL = (DWORD)((0x8000400A)); -int CO_E_INIT_TLS_SET_CHANNEL_CONTROL = (DWORD)((0x8000400B)); -int CO_E_INIT_TLS_CHANNEL_CONTROL = (DWORD)((0x8000400C)); -int CO_E_INIT_UNACCEPTED_USER_ALLOCATOR = (DWORD)((0x8000400D)); -int CO_E_INIT_SCM_MUTEX_EXISTS = (DWORD)((0x8000400E)); -int CO_E_INIT_SCM_FILE_MAPPING_EXISTS = (DWORD)((0x8000400F)); -int CO_E_INIT_SCM_MAP_VIEW_OF_FILE = (DWORD)((0x80004010)); -int CO_E_INIT_SCM_EXEC_FAILURE = (DWORD)((0x80004011)); -int CO_E_INIT_ONLY_SINGLE_THREADED = (DWORD)((0x80004012)); -int CO_E_CANT_REMOTE = (DWORD)((0x80004013)); -int CO_E_BAD_SERVER_NAME = (DWORD)((0x80004014)); -int CO_E_WRONG_SERVER_IDENTITY = (DWORD)((0x80004015)); -int CO_E_OLE1DDE_DISABLED = (DWORD)((0x80004016)); -int CO_E_RUNAS_SYNTAX = (DWORD)((0x80004017)); -int CO_E_CREATEPROCESS_FAILURE = (DWORD)((0x80004018)); -int CO_E_RUNAS_CREATEPROCESS_FAILURE = (DWORD)((0x80004019)); -int CO_E_RUNAS_LOGON_FAILURE = (DWORD)((0x8000401A)); -int CO_E_LAUNCH_PERMSSION_DENIED = (DWORD)((0x8000401B)); -int CO_E_START_SERVICE_FAILURE = (DWORD)((0x8000401C)); -int CO_E_REMOTE_COMMUNICATION_FAILURE = (DWORD)((0x8000401D)); -int CO_E_SERVER_START_TIMEOUT = (DWORD)((0x8000401E)); -int CO_E_CLSREG_INCONSISTENT = (DWORD)((0x8000401F)); -int CO_E_IIDREG_INCONSISTENT = (DWORD)((0x80004020)); -int CO_E_NOT_SUPPORTED = (DWORD)((0x80004021)); -int CO_E_FIRST = (DWORD)((0x800401F0)); -int CO_E_LAST = (DWORD)((0x800401FF)); -int CO_S_FIRST = (0x401F0); -int CO_E_NOTINITIALIZED = (DWORD)((0x800401F0)); -int CO_E_ALREADYINITIALIZED = (DWORD)((0x800401F1)); -int CO_E_CANTDETERMINECLASS = (DWORD)((0x800401F2)); -int CO_E_CLASSSTRING = (DWORD)((0x800401F3)); -int CO_E_IIDSTRING = (DWORD)((0x800401F4)); -int CO_E_APPNOTFOUND = (DWORD)((0x800401F5)); -int CO_E_APPSINGLEUSE = (DWORD)((0x800401F6)); -int CO_E_ERRORINAPP = (DWORD)((0x800401F7)); -int CO_E_DLLNOTFOUND = (DWORD)((0x800401F8)); -int CO_E_ERRORINDLL = (DWORD)((0x800401F9)); -int CO_E_WRONGOSFORAPP = (DWORD)((0x800401FA)); -int CO_E_OBJNOTREG = (DWORD)((0x800401FB)); -int CO_E_OBJISREG = (DWORD)((0x800401FC)); -int CO_E_OBJNOTCONNECTED = (DWORD)((0x800401FD)); -int CO_E_APPDIDNTREG = (DWORD)((0x800401FE)); -int CO_E_RELEASED = (DWORD)((0x800401FF)); -*/ - -/////////////////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////////////////// - - - - - - -// missing in tango -//alias TLOGFONTA* LPLOGFONTA; -//alias TLOGFONTA LOGFONTA; -//alias char CHAR; -alias OPENFILENAME OPENFILENAMEW; -alias OPENFILENAME OPENFILENAMEA; -//alias WNDCLASS_T WNDCLASS; - -//alias TCLSID *REFCLSID; - -//interface IUnknown{} -//alias IUnknown LPUNKNOWN; - - -struct SCRIPT_DIGITSUBSTITUTE { - ushort NationalDigitLanguage; - ushort TraditionalDigitLanguage; - DWORD DigitSubstitute; - DWORD dwReserved; -} - -struct BUTTON_IMAGELIST { - HIMAGELIST himl; - RECT margin; - UINT uAlign; -} - -alias HANDLE HTHEME; - -struct NMREBARCHILDSIZE { - NMHDR hdr; - UINT uBand; - UINT wID; - RECT rcChild; - RECT rcBand; -} -const int MAX_LINKID_TEXT = 48; -const int L_MAX_URL_LENGTH = 2084; -struct LITEM { - UINT mask; - int iLink; - UINT state; - UINT stateMask; - WCHAR szID[MAX_LINKID_TEXT]; - WCHAR szUrl[L_MAX_URL_LENGTH]; -} -struct NMLINK { - NMHDR hdr; - LITEM item; -} -struct NMLVODSTATECHANGE { - NMHDR hdr; - int iFrom; - int iTo; - UINT uNewState; - UINT uOldState; -} -struct NMTBHOTITEM { - NMHDR hdr; - int idOld; - int idNew; - DWORD dwFlags; -} -struct NMTVDISPINFO { - NMHDR hdr; - TVITEM item; -} -struct NMTVITEMCHANGE { - NMHDR hdr; - UINT uChanged; - HTREEITEM hItem; - UINT uStateNew; - UINT uStateOld; - LPARAM lParam; -} - -struct ACTCTXA { - ULONG cbSize; - DWORD dwFlags; - LPCSTR lpSource; - USHORT wProcessorArchitecture; - LANGID wLangId; - LPCTSTR lpAssemblyDirectory; - LPCTSTR lpResourceName; - LPCTSTR lpApplicationName; - HMODULE hModule; -} -struct ACTCTXW { - ULONG cbSize; - DWORD dwFlags; - LPCWSTR lpSource; - USHORT wProcessorArchitecture; - LANGID wLangId; - LPCTSTR lpAssemblyDirectory; - LPCTSTR lpResourceName; - LPCTSTR lpApplicationName; - HMODULE hModule; -} -version(Win32SansUnicode) alias ACTCTXA ACTCTX; -else alias ACTCTXW ACTCTX; -alias HANDLE HACTCTX; - -struct OSVERSIONINFOEX -{ - DWORD dwOSVersionInfoSize; - DWORD dwMajorVersion; - DWORD dwMinorVersion; - DWORD dwBuildNumber; - DWORD dwPlatformId; - TCHAR szCSDVersion[128]; - WORD wServicePackMajor; - WORD wServicePackMinor; - WORD wSuiteMask; - BYTE wProductType; - BYTE wReserved; -} - - - -// .... -//-------------------------------------------------------------------------------- - -// const int LF_FACESIZE = 32; -// const int LF_FULLFACESIZE = 64; - -alias HANDLE HIMC; -// alias HANDLE HTREEITEM; -//alias HANDLE HDWP; -//alias HANDLE HIMAGELIST; -//alias HANDLE HMONITOR; -//alias HANDLE HHOOK; -//alias HANDLE HDROP; -//alias HANDLE *LPHANDLE; - -alias HRESULT WINOLEAPI; -// alias LPRECT LPCRECT; -// alias LPRECT LPCRECTL; -alias DWORD LGRPID; -//alias LONG LONG_PTR; -//alias ULONG ULONG_PTR; -alias DWORD DWORD_PTR; -//alias int INT_PTR; -//alias uint UINT_PTR; -// alias DWORD LCID; -// alias DWORD LCTYPE; -alias USHORT COLOR16; - -//alias POINT POINTL; - -//alias long LONGLONG; -//alias ulong DWORDLONG; - -//alias LONGLONG *PLONGLONG; -//alias DWORDLONG *PDWORDLONG; -alias size_t SIZE_T; -//alias int WPARAM_I; - -extern(Windows){ - -/** - * Since Eclipse/SWT uses int as (msg, wparam, lparam) and some times check the value against (-1), - * but WNDPROC_I declared in windows header the (msg, wparam) is UINT which will never be -1 but 0xFFFF or - * something else. This made some DWT API failed. to fix the problem, it better to declare (msg, wparam) - * as int like Eclispe/SWT does. and we alias int to WPARAM_I. - */ -// alias LRESULT function(HWND, uint, uint, int) WNDPROC_I; -// alias LRESULT function(int code, int wParam, LPARAM lParam) HOOKPROC_I; -// -// // Windows CALLBACK declaration here -// alias WNDPROC_I BFFCALLBACK; // browse for fold -// alias WNDPROC_I LPCCHOOKPROC_I; // choose color -// alias WNDPROC_I LPCFHOOKPROC_I; // choose font -// alias WNDPROC_I LPPRINTHOOKPROC_I; // print hook -// alias WNDPROC_I LPSETUPHOOKPROC_I; // print setup -// alias WNDPROC_I TIMERPROC_I; // timer - -alias LRESULT function ( - int code, // hook code - int wParam, // undefined - int lParam // address of structure with message data -) MESSAGEPROC; - - -//alias BOOL function ( -// HMONITOR hMonitor, // handle to display monitor -// HDC hdcMonitor, // handle to monitor-appropriate device context -// LPRECT lprcMonitor, // pointer to monitor intersection rectangle -// LPARAM dwData // data passed from EnumDisplayMonitors -//) MONITORENUMPROC; - -//alias int function( -// ENUMLOGFONT *lpelf, // logical-font data -// NEWTEXTMETRIC *lpntm, // physical-font data -// DWORD FontType, // type of font -// LPARAM lParam // application-defined data -//)FONTENUMPROC; - -//alias int function( -// ENUMLOGFONTEX *lpelfe, // logical-font data -// NEWTEXTMETRICEX *lpntme, // physical-font data -// DWORD FontType, // type of font -// LPARAM lParam // application-defined data -//)FONTENUMEXPROC; - -alias BOOL function ( - LGRPID LanguageGroup, // language-group identifier - TCHAR* lpLanguageGroupString, // language-group identifier string - TCHAR* lpLanguageGroupNameString, // language-group name string - DWORD dwFlags, // options - LONG_PTR lParam // callback parameter -)LANGUAGEGROUP_ENUMPROC; - -//alias BOOL function ( -// TCHAR* lpLocaleString // locale identifier string -//)LOCALE_ENUMPROC; - - -// end of Windows CALLBACK declaration - - - -//struct ABC { -// int abcA; -// UINT abcB; -// int abcC; -//} -//alias ABC* PABC, LPABC; - -// declared in tango -//struct ACCEL { -// align(1): -// BYTE fVirt; -// WORD key; -// WORD cmd; -//} -//alias ACCEL* PACCEL, LPACCEL; - -// declared in phobos -//struct BITMAP { -// int bmType; -// int bmWidth; -// int bmHeight; -// int bmWidthBytes; -// short bmPlanes; -// short bmBitsPixel; -// void* bmBits; -//} - -//struct RGBQUAD { // rgbq -// byte rgbBlue; -// byte rgbGreen; -// byte rgbRed; -// byte rgbReserved; -//} - -// declared in phobos -//struct BITMAPINFO { // bmi -// BITMAPINFOHEADER bmiHeader; -// RGBQUAD bmiColors[1]; -//} - -//struct BITMAPINFOHEADER { -// int biSize; -// int biWidth; -// int biHeight; -// short biPlanes; -// short biBitCount; -// int biCompression; -// int biSizeImage; -// int biXPelsPerMeter; -// int biYPelsPerMeter; -// int biClrUsed; -// int biClrImportant; -//} - - - -//struct CHARSETINFO { -// UINT ciCharset; -// UINT ciACP; -// FONTSIGNATURE fs; -//}alias CHARSETINFO* PCHARSETINFO, LPCHARSETINFO; - - - - -struct CHOOSEFONTA { - // sizeof = 60 ??? -// align(2): - DWORD lStructSize; - HWND hwndOwner; - HDC hDC; - LPLOGFONTA lpLogFont; - INT iPointSize; - DWORD Flags; - DWORD rgbColors; - LPARAM lCustData; - LPCFHOOKPROC lpfnHook; - LPCSTR lpTemplateName; - HINSTANCE hInstance; - LPSTR lpszStyle; - WORD nFontType; - WORD ___MISSING_ALIGNMENT__; - INT nSizeMin; - INT nSizeMax; -}alias CHOOSEFONTA* PCHOOSEFONTA, LPCHOOSEFONTA; - -struct CHOOSEFONTW { - // sizeof = 60 ??? -// align(2): - DWORD lStructSize; - HWND hwndOwner; - HDC hDC; - LOGFONTW* lpLogFont; - INT iPointSize; - DWORD Flags; - DWORD rgbColors; - LPARAM lCustData; - LPCFHOOKPROC lpfnHook; - LPCWSTR lpTemplateName; - HINSTANCE hInstance; - LPWSTR lpszStyle; - WORD nFontType; - WORD ___MISSING_ALIGNMENT__; - INT nSizeMin; - INT nSizeMax; -}alias CHOOSEFONTW* PCHOOSEFONTW, LPCHOOSEFONTW; -version(Win32SansUnicode){ - alias CHOOSEFONTA CHOOSEFONT; -}else{ - alias CHOOSEFONTW CHOOSEFONT; -} - -struct COMBOBOXINFO { - DWORD cbSize; - RECT rcItem; - RECT rcButton; - DWORD stateButton; - HWND hwndCombo; - HWND hwndItem; - HWND hwndList; -} alias COMBOBOXINFO* PCOMBOBOXINFO, LPCOMBOBOXINFO; - -//struct COMPOSITIONFORM { -// DWORD dwStyle; -// POINT ptCurrentPos; -// RECT rcArea; -//} -//alias COMPOSITIONFORM* LPCOMPOSITIONFORM; - -// const uint CCHDEVICENAME = 32; -// const uint CCHFORMNAME = 32; - -struct DEVMODEA { // dvmd - BYTE dmDeviceName[CCHDEVICENAME]; - WORD dmSpecVersion; - WORD dmDriverVersion; - WORD dmSize; - WORD dmDriverExtra; - DWORD dmFields; -// union { -// struct { -// short dmOrientation; -// short dmPaperSize; -// short dmPaperLength; -// short dmPaperWidth; -// }; -// POINTL dmPosition; -// }; - POINT dmPosition; - short dmScale; - short dmCopies; - short dmDefaultSource; - short dmPrintQuality; - short dmColor; - short dmDuplex; - short dmYResolution; - short dmTTOption; - short dmCollate; - BYTE dmFormName[CCHFORMNAME]; - WORD dmLogPixels; - DWORD dmBitsPerPel; - DWORD dmPelsWidth; - DWORD dmPelsHeight; - DWORD dmDisplayFlags; - DWORD dmDisplayFrequency; -//#if(WINVER >= 0x0400) - DWORD dmICMMethod; - DWORD dmICMIntent; - DWORD dmMediaType; - DWORD dmDitherType; - DWORD dmReserved1; - DWORD dmReserved2; -//#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) - DWORD dmPanningWidth; - DWORD dmPanningHeight; -//#endif -//#endif /* WINVER >= 0x0400 */ -} - -struct DEVMODEW { // dvmd - WCHAR dmDeviceName[CCHDEVICENAME]; - WORD dmSpecVersion; - WORD dmDriverVersion; - WORD dmSize; - WORD dmDriverExtra; - DWORD dmFields; -// union { -// struct { -// short dmOrientation; -// short dmPaperSize; -// short dmPaperLength; -// short dmPaperWidth; -// }; - POINTL dmPosition; -// }; - short dmScale; - short dmCopies; - short dmDefaultSource; - short dmPrintQuality; - short dmColor; - short dmDuplex; - short dmYResolution; - short dmTTOption; - short dmCollate; - WCHAR dmFormName[CCHFORMNAME]; - WORD dmLogPixels; - DWORD dmBitsPerPel; - DWORD dmPelsWidth; - DWORD dmPelsHeight; - DWORD dmDisplayFlags; - DWORD dmDisplayFrequency; -//#if(WINVER >= 0x0400) - DWORD dmICMMethod; - DWORD dmICMIntent; - DWORD dmMediaType; - DWORD dmDitherType; - DWORD dmReserved1; - DWORD dmReserved2; -//#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) - DWORD dmPanningWidth; - DWORD dmPanningHeight; -//#endif -//#endif /* WINVER >= 0x0400 */ -} - -//PORTING_TODO: defined in tango -//version(Win32SansUnicode){ -// alias DEVMODEA DEVMODE; -//}else{ -// alias DEVMODEW DEVMODE; -//} - -//struct DIBSECTION { -// // BITMAP -// int bmType; -// int bmWidth; -// int bmHeight; -// int bmWidthBytes; -// short bmPlanes; -// short bmBitsPixel; -// void* bmBits; -// // end BITMAP -// int biSize; -// int biWidth; -// int biHeight; -// short biPlanes; -// short biBitCount; -// int biCompression; -// int biSizeImage; -// int biXPelsPerMeter; -// int biYPelsPerMeter; -// int biClrUsed; -// int biClrImportant; -// int dsBitfields0; -// int dsBitfields1; -// int dsBitfields2; -// int dshSection; -// int dsOffset; -//} - -struct DLLVERSIONINFO { - DWORD cbSize; - DWORD dwMajorVersion; - DWORD dwMinorVersion; - DWORD dwBuildNumber; - DWORD dwPlatformID; -} - - - -struct DROPFILES { - DWORD pFiles; // Offset of the file list from the beginning of this structure, in bytes. - POINT pt; // Drop point. The coordinates depend on fNC. - BOOL fNC; // Nonclient area flag. If this member is TRUE, pt specifies the screen - // coordinates of a point in a window's nonclient area. If it is FALSE, - // pt specifies the client coordinates of a point in the client area. - BOOL fWide; // Value that indicates whether the file contains ANSI or Unicode - // characters. If it is zero, it contains ANSI characters. Otherwise, it - // contains Unicode characters. - -} - - -// struct ENUMLOGFONTA { -// LOGFONTA elfLogFont; -// CHAR elfFullName[LF_FULLFACESIZE]; -// CHAR elfStyle[LF_FACESIZE]; -// } -// struct ENUMLOGFONTW { -// LOGFONTW elfLogFont; -// WCHAR elfFullName[LF_FULLFACESIZE]; -// WCHAR elfStyle[LF_FACESIZE]; -// } -// struct ENUMLOGFONTEXA { -// LOGFONTA elfLogFont; -// BYTE elfFullName[LF_FULLFACESIZE]; -// BYTE elfStyle[LF_FACESIZE]; -// BYTE elfScript[LF_FACESIZE]; -// } -// struct ENUMLOGFONTEXW { -// LOGFONTW elfLogFont; -// WCHAR elfFullName[LF_FULLFACESIZE]; -// WCHAR elfStyle[LF_FACESIZE]; -// WCHAR elfScript[LF_FACESIZE]; -// } -// version(Win32SansUnicode){ -// alias ENUMLOGFONTA ENUMLOGFONT; -// alias ENUMLOGFONTEXA ENUMLOGFONTEX; -// }else { -// alias ENUMLOGFONTW ENUMLOGFONT; -// alias ENUMLOGFONTEXW ENUMLOGFONTEX; -// } - -// in phobos aready -//struct FILETIME { -// DWORD dwLowDateTime; -// DWORD dwHighDateTime; -//} - - - -struct GOFFSET { - LONG du; - LONG dv; -} - -struct GRADIENT_RECT { - ULONG UpperLeft; - ULONG LowerRight; -} - -struct GUITHREADINFO { - DWORD cbSize; - DWORD flags; - HWND hwndActive; - HWND hwndFocus; - HWND hwndCapture; - HWND hwndMenuOwner; - HWND hwndMoveSize; - HWND hwndCaret; - RECT rcCaret; -}alias GUITHREADINFO* PGUITHREADINFO, LPGUITHREADINFO; - -struct HDITEMA { - UINT mask; - int cxy; - LPSTR pszText; - HBITMAP hbm; - int cchTextMax; - int fmt; - LPARAM lParam; - int iImage; - int iOrder; -} -struct HDITEMW { - UINT mask; - int cxy; - LPWSTR pszText; - HBITMAP hbm; - int cchTextMax; - int fmt; - LPARAM lParam; - int iImage; - int iOrder; -} -version(Win32SansUnicode){ - alias HDITEMA HDITEM; -}else{ - alias HDITEMW HDITEM; -} -alias HDITEM* LPHDITEM; - - -//struct ICONINFO { -// BOOL fIcon; -// DWORD xHotspot; -// DWORD yHotspot; -// HBITMAP hbmMask; -// HBITMAP hbmColor; -//} -//alias ICONINFO* PICONINFO, LPICONINFO; - -struct INITCOMMONCONTROLSEX { - DWORD dwSize; - DWORD dwICC; -}alias INITCOMMONCONTROLSEX* PINITCOMMONCONTROLSEX, LPINITCOMMONCONTROLSEX; - -struct INPUT { - // Note: <Shawn> sizeof = 28 - int type; - union { - MOUSEINPUT mi; - KEYBDINPUT ki; -// HARDWAREINPUT hi; - } -}alias INPUT* PINPUT, LPINPUT; - -//struct ITEMIDLIST { -// SHITEMID mkid; -//} -//alias ITEMIDLIST* PITEMIDLIST, LPITEMIDLIST, LPCITEMIDLIST; - -struct KEYBDINPUT { - WORD wVk; - WORD wScan; - DWORD dwFlags; - DWORD time; - ULONG_PTR dwExtraInfo; -} - - -// struct LOGBRUSH { -// UINT lbStyle; -// COLORREF lbColor; -// LONG lbHatch; -// } - - -struct LVCOLUMNA { - UINT mask; - int fmt; - int cx; - LPSTR pszText; - int cchTextMax; - int iSubItem; - int iImage; - int iOrder; -} -struct LVCOLUMNW { - UINT mask; - int fmt; - int cx; - LPWSTR pszText; - int cchTextMax; - int iSubItem; - int iImage; - int iOrder; -} -version(Win32SansUnicode){ - alias LVCOLUMNA LVCOLUMN; -}else{ - alias LVCOLUMNW LVCOLUMN; -} -alias LVCOLUMN* LPLVCOLUMN; - -struct LVFINDINFOA { - UINT flags; - LPCSTR psz; - LPARAM lParam; - POINT pt; - UINT vkDirection; -} -alias LVFINDINFOA* LPFINDINFOA; -struct LVFINDINFOW { - UINT flags; - LPCWSTR psz; - LPARAM lParam; - POINT pt; - UINT vkDirection; -} -alias LVFINDINFOW* LPFINDINFOW; - -version(Win32SansUnicode){ - alias LVFINDINFOA LVFINDINFO; -}else{ - alias LVFINDINFOW LVFINDINFO; -} - -struct LVHITTESTINFO -{ - POINT pt; - UINT flags; - int iItem; - int iSubItem; -} - - -struct LVITEMA { - UINT mask; - int iItem; - int iSubItem; - UINT state; - UINT stateMask; - LPSTR pszText; - int cchTextMax; - int iImage; - LPARAM lParam; - int iIndent; -} -struct LVITEMW { - UINT mask; - int iItem; - int iSubItem; - UINT state; - UINT stateMask; - LPWSTR pszText; - int cchTextMax; - int iImage; - LPARAM lParam; - int iIndent; -} -version(Win32SansUnicode){ - alias LVITEMA LVITEM; -}else{ - alias LVITEMW LVITEM; -} -alias LVITEM* LPLVITEM; - -struct MARGINS { - int cxLeftWidth; - int cxRightWidth; - int cyTopHeight; - int cyBottomHeight; -} - -struct MENUBARINFO { - DWORD cbSize; - RECT rcBar; - HMENU hMenu; - HWND hwndMenu; - BOOL fBarFocused; - BOOL fFocused; -}alias MENUBARINFO* PMENUBARINFO, LPMENUBARINFO; - -struct MENUINFO { - DWORD cbSize; - DWORD fMask; - DWORD dwStyle; - UINT cyMax; - HBRUSH hbrBack; - DWORD dwContextHelpID; - ULONG_PTR dwMenuData; -} -alias MENUINFO* PCMENUINFO, LPCMENUINFO, LPCCMENUINFO; - -/* -* Feature in Windows. The hbmpItem field requires Windows 4.10 -* or greater. On Windows NT 4.0, passing in a larger struct size -* in the cbSize field does nothing. On Windows 95, the MENUITEMINFO -* calls fail when the struct size is too large. The fix is to ensure -* that the correct struct size is used for the Windows platform. -*/ -// struct MENUITEMINFOA -// { -// UINT cbSize; -// UINT fMask; -// UINT fType; // used if MIIM_TYPE -// UINT fState; // used if MIIM_STATE -// UINT wID; // used if MIIM_ID -// HMENU hSubMenu; // used if MIIM_SUBMENU -// HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS -// HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS -// DWORD dwItemData; // used if MIIM_DATA -// LPSTR dwTypeData; // used if MIIM_TYPE -// UINT cch; // used if MIIM_TYPE -// HBITMAP hbmpItem; -// } -// alias MENUITEMINFOA* PMENUITEMINFOA, LPMENUITEMINFOA; -// struct MENUITEMINFOW -// { -// UINT cbSize; -// UINT fMask; -// UINT fType; // used if MIIM_TYPE -// UINT fState; // used if MIIM_STATE -// UINT wID; // used if MIIM_ID -// HMENU hSubMenu; // used if MIIM_SUBMENU -// HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS -// HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS -// DWORD dwItemData; // used if MIIM_DATA -// LPWSTR dwTypeData; // used if MIIM_TYPE -// UINT cch; // used if MIIM_TYPE -// HBITMAP hbmpItem; -// } alias MENUITEMINFOW* PMENUITEMINFOW, LPMENUITEMINFOW; -//version(Win32SansUnicode){ -// alias MENUITEMINFOA MENUITEMINFO; -//}else{ -// alias MENUITEMINFOW MENUITEMINFO; -//} -//alias MENUITEMINFO * LPMENUITEMINFO; - - -//struct MONITORINFO { -// DWORD cbSize; -// RECT rcMonitor; -// RECT rcWork; -// DWORD dwFlags; -//} -//alias MONITORINFO* PMONITORINFO, LPMONITORINFO; - -struct MOUSEINPUT { - LONG dx; - LONG dy; - DWORD mouseData; - DWORD dwFlags; - DWORD dwExtraInfo; -} - -//struct MSG { -// int hwnd; -// int message; -// int wParam; -// int lParam; -// int time; -//// POINT pt; -// int x, y; -//} -/+ -struct NEWTEXTMETRICA { // ntm - LONG tmHeight; - LONG tmAscent; - LONG tmDescent; - LONG tmInternalLeading; - LONG tmExternalLeading; - LONG tmAveCharWidth; - LONG tmMaxCharWidth; - LONG tmWeight; - LONG tmOverhang; - LONG tmDigitizedAspectX; - LONG tmDigitizedAspectY; - BYTE tmFirstChar; - BYTE tmLastChar; - BYTE tmDefaultChar; - BYTE tmBreakChar; - BYTE tmItalic; - BYTE tmUnderlined; - BYTE tmStruckOut; - BYTE tmPitchAndFamily; - BYTE tmCharSet; - DWORD ntmFlags; - UINT ntmSizeEM; - UINT ntmCellHeight; - UINT ntmAvgWidth; -} -struct NEWTEXTMETRICW { // ntm - LONG tmHeight; - LONG tmAscent; - LONG tmDescent; - LONG tmInternalLeading; - LONG tmExternalLeading; - LONG tmAveCharWidth; - LONG tmMaxCharWidth; - LONG tmWeight; - LONG tmOverhang; - LONG tmDigitizedAspectX; - LONG tmDigitizedAspectY; - WCHAR tmFirstChar; - WCHAR tmLastChar; - WCHAR tmDefaultChar; - WCHAR tmBreakChar; - BYTE tmItalic; - BYTE tmUnderlined; - BYTE tmStruckOut; - BYTE tmPitchAndFamily; - BYTE tmCharSet; - DWORD ntmFlags; - UINT ntmSizeEM; - UINT ntmCellHeight; - UINT ntmAvgWidth; -} -struct NEWTEXTMETRICEXA { - NEWTEXTMETRICA ntmentm; - FONTSIGNATURE ntmeFontSignature; -} -struct NEWTEXTMETRICEXW { - NEWTEXTMETRICW ntmentm; - FONTSIGNATURE ntmeFontSignature; -} -version(Win32SansUnicode){ - alias NEWTEXTMETRICA NEWTEXTMETRIC; - alias NEWTEXTMETRICEXA NEWTEXTMETRICEX; -}else{ - alias NEWTEXTMETRICW NEWTEXTMETRIC; - alias NEWTEXTMETRICEXW NEWTEXTMETRICEX; -} -+/ - -struct NMCUSTOMDRAW { - NMHDR hdr; - DWORD dwDrawStage; - HDC hdc; - RECT rc; - DWORD dwItemSpec; - UINT uItemState; - LPARAM lItemlParam; -} - -struct NMHEADER { - NMHDR hdr; - int iItem; - int iButton; - HDITEM *pitem; -} - -struct NMLISTVIEW { - NMHDR hdr; - int iItem; - int iSubItem; - UINT uNewState; - UINT uOldState; - UINT uChanged; - POINT ptAction; - LPARAM lParam; -} - -struct NMLVCUSTOMDRAW { - NMCUSTOMDRAW nmcd; - COLORREF clrText; - COLORREF clrTextBk; -//#if (_WIN32_IE >= 0x0400) - int iSubItem; -//#endif -} - -struct NMLVDISPINFOA { - NMHDR hdr; - LVITEMA item; -} -struct NMLVDISPINFOW { - NMHDR hdr; - LVITEMW item; -} -version(Win32SansUnicode){ - alias NMLVDISPINFOA NMLVDISPINFO; -}else{ - alias NMLVDISPINFOW NMLVDISPINFO; -} - -struct NMLVFINDITEMA { - NMHDR hdr; - int iStart; - LVFINDINFOA lvfi; -} - -struct NMLVFINDITEMW { - NMHDR hdr; - int iStart; - LVFINDINFOW lvfi; -} -version(Win32SansUnicode){ - alias NMLVFINDITEMA NMLVFINDITEM; -}else{ - alias NMLVFINDITEMW NMLVFINDITEM; -} - -struct NMREBARCHEVRON { - NMHDR hdr; - UINT uBand; - UINT wID; - LPARAM lParam; - RECT rc; - LPARAM lParamNM; -} - -struct NMRGINFO { - // NMHDR - HWND hwndFrom; - int idFrom; - int code; - // -end- NMHDR -// POINT ptAction; - int x; - int y; - int dwItemSpec; -} -struct NMTOOLBARA { - align(2): - NMHDR hdr; - int iItem; - TBBUTTON tbButton; - int cchText; - LPSTR pszText; -} -struct NMTOOLBARW { - align(2): - NMHDR hdr; - int iItem; - TBBUTTON tbButton; - int cchText; - LPWSTR pszText; -} -version(Win32SansUnicode){ - alias NMTOOLBARA NMTOOLBAR; -}else{ - alias NMTOOLBARW NMTOOLBAR; -} -alias NMTOOLBAR* LPNMTOOLBAR; - - -struct NMTTDISPINFOA { - NMHDR hdr; - LPSTR lpszText; - char szText[80]; - HINSTANCE hinst; - UINT uFlags; - LPARAM lParam; -} - -struct NMTTDISPINFOW { - NMHDR hdr; - LPWSTR lpszText; - WCHAR szText[80]; - HINSTANCE hinst; - UINT uFlags; - LPARAM lParam; -} -version(Win32SansUnicode){ - alias NMTTDISPINFOA NMTTDISPINFO; -} else { - alias NMTTDISPINFOW NMTTDISPINFO; -} - -struct NMTVCUSTOMDRAW { - NMCUSTOMDRAW nmcd; - COLORREF clrText; - COLORREF clrTextBk; -//#if (_WIN32_IE >= 0x0400) - int iLevel; // the iLevel field does not appear on WinCE -//#endif -} - - -struct NOTIFYICONDATAA { - DWORD cbSize; - HWND hWnd; - UINT uID; - UINT uFlags; - UINT uCallbackMessage; - HICON hIcon; - char szTip[128] = '\0'; - DWORD dwState; - DWORD dwStateMask; - char szInfo[256] = '\0'; - union { - UINT uTimeout; - UINT uVersion; - }; - char szInfoTitle[64] = '\0'; - DWORD dwInfoFlags; - //GUID guidItem; - //HICON hBalloonIcon; -} alias NOTIFYICONDATAA* PNOTIFYICONDATAA, LPNOTIFYICONDATAA; - -struct NOTIFYICONDATAW { - DWORD cbSize; - HWND hWnd; - UINT uID; - UINT uFlags; - UINT uCallbackMessage; - HICON hIcon; - WCHAR szTip[128] = '\0'; - DWORD dwState; - DWORD dwStateMask; - WCHAR szInfo[256] = '\0'; - union { - UINT uTimeout; - UINT uVersion; - } - WCHAR szInfoTitle[64] = '\0'; - DWORD dwInfoFlags; - //GUID guidItem; - //HICON hBalloonIcon; -} - -alias NOTIFYICONDATAW* PNOTIFYICONDATAW, LPNOTIFYICONDATAW; -version(Win32SansUnicode){ - alias NOTIFYICONDATAA NOTIFYICONDATA; -}else{ - alias NOTIFYICONDATAW NOTIFYICONDATA; -} - -/* already in phobos now - -struct OPENFILENAMEA { - DWORD lStructSize; - HWND hwndOwner; - HINSTANCE hInstance; - LPCSTR lpstrFilter; - LPSTR lpstrCustomFilter; - DWORD nMaxCustFilter; - DWORD nFilterIndex; - LPSTR lpstrFile; - DWORD nMaxFile; - LPSTR lpstrFileTitle; - DWORD nMaxFileTitle; - LPCSTR lpstrInitialDir; - LPCSTR lpstrTitle; - DWORD Flags; - WORD nFileOffset; - WORD nFileExtension; - LPCSTR lpstrDefExt; - LPARAM lCustData; - LPOFNHOOKPROC lpfnHook; - LPCSTR lpTemplateName; -} - -struct OPENFILENAMEW { - DWORD lStructSize; - HWND hwndOwner; - HINSTANCE hInstance; - LPCWSTR lpstrFilter; - LPWSTR lpstrCustomFilter; - DWORD nMaxCustFilter; - DWORD nFilterIndex; - LPWSTR lpstrFile; - DWORD nMaxFile; - LPWSTR lpstrFileTitle; - DWORD nMaxFileTitle; - LPCWSTR lpstrInitialDir; - LPCWSTR lpstrTitle; - DWORD Flags; - WORD nFileOffset; - WORD nFileExtension; - LPCWSTR lpstrDefExt; - LPARAM lCustData; - LPOFNHOOKPROC lpfnHook; - LPCWSTR lpTemplateName; -} -*/ - -//PORTING_TODO: is needed? -//version(Win32SansUnicode){ -// alias OPENFILENAMEA OPENFILENAME; -//}else{ -// alias OPENFILENAMEW OPENFILENAME; -//} - - -//struct PAINTSTRUCT { -// int hdc; -// int fErase; -//// RECT rcPaint; -// public int left, top, right, bottom; -// int fRestore; -// int fIncUpdate; -// byte rgbReserved[32]; -//} -//alias windows.PAINTSTRUCT PAINTSTRUCT; - -//struct POINT { -// LONG x, y; -//} - - -struct PRINTDLGA { // pd - align(2): - DWORD lStructSize; - HWND hwndOwner; - HANDLE hDevMode; - HANDLE hDevNames; - HDC hDC; - DWORD Flags; - WORD nFromPage; - WORD nToPage; - WORD nMinPage; - WORD nMaxPage; - WORD nCopies; - HINSTANCE hInstance; - DWORD lCustData; - LPPRINTHOOKPROC lpfnPrintHook; - LPSETUPHOOKPROC lpfnSetupHook; - LPCSTR lpPrintTemplateName; - LPCSTR lpSetupTemplateName; - HANDLE hPrintTemplate; - HANDLE hSetupTemplate; -} -alias PRINTDLGA* PPRINTDLGA, LPPRINTDLGA; -struct PRINTDLGW { // pd - align(2): - DWORD lStructSize; - HWND hwndOwner; - HANDLE hDevMode; - HANDLE hDevNames; - HDC hDC; - DWORD Flags; - WORD nFromPage; - WORD nToPage; - WORD nMinPage; - WORD nMaxPage; - WORD nCopies; - HINSTANCE hInstance; - DWORD lCustData; - LPPRINTHOOKPROC lpfnPrintHook; - LPSETUPHOOKPROC lpfnSetupHook; - LPCWSTR lpPrintTemplateName; - LPCWSTR lpSetupTemplateName; - HANDLE hPrintTemplate; - HANDLE hSetupTemplate; -} -alias PRINTDLGW* PPRINTDLGW, LPPRINTDLGW; -version(Win32SansUnicode){ - alias PRINTDLGA PRINTDLG; -}else{ - alias PRINTDLGW PRINTDLG; -} - -struct REBARBANDINFOA { - UINT cbSize; - UINT fMask; - UINT fStyle; - COLORREF clrFore; - COLORREF clrBack; - LPSTR lpText; - UINT cch; - int iImage; - HWND hwndChild; - UINT cxMinChild; - UINT cyMinChild; - UINT cx; - HBITMAP hbmBack; - UINT wID; - UINT cyChild; - UINT cyMaxChild; - UINT cyIntegral; - UINT cxIdeal; - LPARAM lParam; - UINT cxHeader; - /* Note in WinCE. The field cxHeader is not defined. */ -} -struct REBARBANDINFOW { - UINT cbSize; - UINT fMask; - UINT fStyle; - COLORREF clrFore; - COLORREF clrBack; - LPWSTR lpText; - UINT cch; - int iImage; - HWND hwndChild; - UINT cxMinChild; - UINT cyMinChild; - UINT cx; - HBITMAP hbmBack; - UINT wID; - UINT cyChild; - UINT cyMaxChild; - UINT cyIntegral; - UINT cxIdeal; - LPARAM lParam; - UINT cxHeader; - /* Note in WinCE. The field cxHeader is not defined. */ -} -version(Win32SansUnicode){ - alias REBARBANDINFOA REBARBANDINFO; -}else{ - alias REBARBANDINFOW REBARBANDINFO; -} - -//struct RECT { -// int left; -// int top; -// int right; -// int bottom; -//} - -//struct RGNDATA { -// RGNDATAHEADER rdh; -// char Buffer[1]; -//} alias RGNDATA* PRGNDATA, LPRGNDATA; - - - -template BITWISE(T) -{ - // bit value set - void btvs(T* pData, uint bitnum, uint val){ - *pData &= ~(0x01 << bitnum); - if(val) *pData |= (0x01 << bitnum); - } - // bit value get - T btvg(T* pData, uint bitnum){ - return cast(T)((*pData >> bitnum) & 0x01); - } -} -alias BITWISE!(BYTE).btvs btvs; -alias BITWISE!(WORD).btvs btvs; -alias BITWISE!(DWORD).btvs btvs; -alias BITWISE!(BYTE).btvg btvg; -alias BITWISE!(WORD).btvg btvg; -alias BITWISE!(DWORD).btvg btvg; - - -struct SCRIPT_ANALYSIS { - WORD BITS; - SCRIPT_STATE s; - - // getter - uint eScript() { return BITS & 0x03FFU; } - uint fRTL() { return btvg(&BITS, 10); } - uint fLayoutRTL() { return btvg(&BITS, 11); } - uint fLinkBefore() { return btvg(&BITS, 12); } - uint fLinkAfter() { return btvg(&BITS, 13); } - uint fLogicalOrder(){ return btvg(&BITS, 14); } - uint fNoGlyphIndex(){ return btvg(&BITS, 15); } - // setter - void eScript(uint val) { BITS &= 0xFC00; BITS |= (val & 0x03FF); } - void fRTL(uint val) { btvs(&BITS, 10, val); } - void fLayoutRTL(uint val) { btvs(&BITS, 11, val); } - void fLinkBefore(uint val) { btvs(&BITS, 12, val); } - void fLinkAfter(uint val) { btvs(&BITS, 13, val); } - void fLogicalOrder(uint val){ btvs(&BITS, 14, val); } - void fNoGlyphIndex(uint val){ btvs(&BITS, 15, val); } -} - -alias void *SCRIPT_CACHE; - -struct SCRIPT_CONTROL { - align(1): - WORD uDefaultLanguage; - BYTE BITS; - BYTE fReserved; - - // getter - uint fContextDigits() { return btvg(&BITS, 0); } - uint fInvertPreBoundDir() { return btvg(&BITS, 1); } - uint fInvertPostBoundDir() { return btvg(&BITS, 2); } - uint fLinkStringBefore() { return btvg(&BITS, 3); } - uint fLinkStringAfter() { return btvg(&BITS, 4); } - uint fNeutralOverride() { return btvg(&BITS, 5); } - uint fNumericOverride() { return btvg(&BITS, 6); } - uint fLegacyBidiClass() { return btvg(&BITS, 7); } - - void fContextDigits(uint val) { btvs(&BITS, 0, val); } - void fInvertPreBoundDir(uint val) { btvs(&BITS, 1, val); } - void fInvertPostBoundDir(uint val) { btvs(&BITS, 2, val); } - void fLinkStringBefore(uint val) { btvs(&BITS, 3, val); } - void fLinkStringAfter(uint val) { btvs(&BITS, 4, val); } - void fNeutralOverride(uint val) { btvs(&BITS, 5, val); } - void fNumericOverride(uint val) { btvs(&BITS, 6, val); } - void fLegacyBidiClass(uint val) { btvs(&BITS, 7, val); } -} - -struct SCRIPT_FONTPROPERTIES { - int cBytes; - WORD wgBlank; - WORD wgDefault; - WORD wgInvalid; - WORD wgKashida; - int iKashidaWidth; -} - -struct SCRIPT_ITEM { - int iCharPos; - SCRIPT_ANALYSIS a; -} - -struct SCRIPT_LOGATTR { - align(1): - BYTE BITS; - - // gettter - uint fSoftBreak() { return btvg(&BITS, 0); } - uint fWhiteSpace() { return btvg(&BITS, 1); } - uint fCharStop() { return btvg(&BITS, 2); } - uint fWordStop() { return btvg(&BITS, 3); } - uint fInvalid() { return btvg(&BITS, 4); } - uint fReserved() { return cast(BYTE)(BITS>>5); } - - void fSoftBreak(uint val) { btvs(&BITS, 0, val); } - void fWhiteSpace(uint val) { btvs(&BITS, 1, val); } - void fCharStop(uint val) { btvs(&BITS, 2, val); } - void fWordStop(uint val) { btvs(&BITS, 3, val); } - void fInvalid(uint val) { btvs(&BITS, 4, val); } - void fReserved(uint val) { BITS &= 0x1F; BITS |= (val & 0x07)<<5; } -} - - -struct SCRIPT_PROPERTIES { - DWORD BITS1; - DWORD BITS2; - - uint langid() { return BITS1 >> 16; } - uint fNumeric() { return btvg(&BITS1, 16); } - uint fComplex() { return btvg(&BITS1, 17); } - uint fNeedsWordBreaking() { return btvg(&BITS1, 18); } - uint fNeedsCaretInfo() { return btvg(&BITS1, 19); } - uint bCharSet() { return (BITS1 >> 20) & 0xFF; } - uint fControl() { return btvg(&BITS1, 28); } - uint fPrivateUseArea() { return btvg(&BITS1, 29); } - uint fNeedsCharacterJustify(){ return btvg(&BITS1, 30); } - uint fInvalidGlyph() { return btvg(&BITS1, 31); } - uint fInvalidLogAttr() { return btvg(&BITS2, 0); } - uint fCDM() { return btvg(&BITS2, 1); } - uint fAmbiguousCharSet() { return btvg(&BITS2, 2); } - uint fClusterSizeVaries() { return btvg(&BITS2, 3); } - uint fRejectInvalid() { return btvg(&BITS2, 4); } - - void langid(uint val) { BITS1 &= 0xFFFF0000; BITS1 |= (val & 0xFFFF); } - void fNumeric(uint val) { btvs(&BITS1, 16, val); } - void fComplex(uint val) { btvs(&BITS1, 17, val); } - void fNeedsWordBreaking(uint val) { btvs(&BITS1, 18, val); } - void fNeedsCaretInfo(uint val) { btvs(&BITS1, 19, val); } - void bCharSet(uint val) { BITS1 &= 0xF00FFFFF; BITS1 |= (val & 0xFF)<<20; } - void fControl(uint val) { btvs(&BITS1, 28, val); } - void fPrivateUseArea(uint val) { btvs(&BITS1, 29, val); } - void fNeedsCharacterJustify(uint val){ btvs(&BITS1, 30, val); } - void fInvalidGlyph(uint val) { btvs(&BITS1, 31, val); } - void fInvalidLogAttr(uint val) { btvs(&BITS2, 0, val); } - void fCDM(uint val) { btvs(&BITS2, 1, val); } - void fAmbiguousCharSet(uint val) { btvs(&BITS2, 2, val); } - void fClusterSizeVaries(uint val) { btvs(&BITS2, 3, val); } - void fRejectInvalid(uint val) { btvs(&BITS2, 4, val); } -} - - -struct SCRIPT_STATE { - WORD BITS; - // getter - uint uBidiLevel() { return (BITS & 0x1F);} - uint fOverrideDirection() { return btvg(&BITS, 5); } - uint fInhibitSymSwap() { return btvg(&BITS, 6); } - uint fCharShape() { return btvg(&BITS, 7); } - uint fDigitSubstitute() { return btvg(&BITS, 8); } - uint fInhibitLigate() { return btvg(&BITS, 9); } - uint fDisplayZWG() { return btvg(&BITS, 10); } - uint fArabicNumContext() { return btvg(&BITS, 11); } - uint fGcpClusters() { return btvg(&BITS, 12); } - uint fReserved() { return btvg(&BITS, 13); } - uint fEngineReserved() { return (BITS >> 14) & 0x03;} - // setter - void uBidiLevel(uint val) { BITS &= 0xFFE0; BITS |= (val & 0x1F); } - void fOverrideDirection(uint val) { btvs(&BITS, 5, val); } - void fInhibitSymSwap(uint val) { btvs(&BITS, 6, val); } - void fCharShape(uint val) { btvs(&BITS, 7, val); } - void fDigitSubstitute(uint val) { btvs(&BITS, 8, val); } - void fInhibitLigate(uint val) { btvs(&BITS, 9, val); } - void fDisplayZWG(uint val) { btvs(&BITS, 10, val); } - void fArabicNumContext(uint val) { btvs(&BITS, 11, val); } - void fGcpClusters(uint val) { btvs(&BITS, 12, val); } - void fReserved(uint val) { btvs(&BITS, 13, val); } - void fEngineReserved(uint val) { BITS &= 0x3FFF; BITS |= ((val & 0x03) << 14); } -} - - -struct SCRIPT_VISATTR { - align(1): - BYTE BITS; - BYTE fShapeReserved; - - // getter - uint uJustification() { return BITS & 0x0F; } - uint fClusterStart() { return btvg(&BITS, 4); } - uint fDiacritic() { return btvg(&BITS, 5); } - uint fZeroWidth() { return btvg(&BITS, 6); } - uint fReserved() { return btvg(&BITS, 7); } - - // setter - void uJustification(uint val) { BITS &= 0xF0; BITS |= (val & 0x0F); } - void fClusterStart(uint val) { btvs(&BITS, 4, val); } - void fDiacritic(uint val) { btvs(&BITS, 5, val); } - void fZeroWidth(uint val) { btvs(&BITS, 6, val); } - void fReserved(uint val) { btvs(&BITS, 7, val); } -} - -//struct SCROLLINFO { -// UINT cbSize; -// UINT fMask; -// int nMin; -// int nMax; -// UINT nPage; -// int nPos; -// int nTrackPos; -//} -//alias SCROLLINFO* PSCROLLINFO, LPSCROLLINFO, LPCSCROLLINFO; - -version(WinCE) -{ -struct SHACTIVATEINFO { - int cbSize; - HWND hwndLastFocus; - int fSipUp; - int fSipOnDeactivation; - int fActive; - int fReserved; -} -} - -struct SHELLEXECUTEINFOA { - DWORD cbSize; - ULONG fMask; - HWND hwnd; - LPCSTR lpVerb; - LPCSTR lpFile; - LPCSTR lpParameters; - LPCSTR lpDirectory; - int nShow; - HINSTANCE hInstApp; - - // Optional members - LPVOID lpIDList; - LPCSTR lpClass; - HKEY hkeyClass; - DWORD dwHotKey; - HANDLE hIcon; - HANDLE hProcess; -} alias SHELLEXECUTEINFOA* PSHELLEXECUTEINFOA, LPSHELLEXECUTEINFOA; -struct SHELLEXECUTEINFOW { - DWORD cbSize; - ULONG fMask; - HWND hwnd; - LPCWSTR lpVerb; - LPCWSTR lpFile; - LPCWSTR lpParameters; - LPCWSTR lpDirectory; - int nShow; - HINSTANCE hInstApp; - - // Optional members - LPVOID lpIDList; - LPCWSTR lpClass; - HKEY hkeyClass; - DWORD dwHotKey; - HANDLE hIcon; - HANDLE hProcess; -} alias SHELLEXECUTEINFOW* PSHELLEXECUTEINFOW, LPSHELLEXECUTEINFOW; -version(Win32SansUnicode){ - alias SHELLEXECUTEINFOA SHELLEXECUTEINFO; -}else{ - alias SHELLEXECUTEINFOW SHELLEXECUTEINFO; -} -alias SHELLEXECUTEINFO* LPSHELLEXECUTEINFO; - - -//version(WinCE) -//{ - struct SHMENUBARINFO { - int cbSize; - HWND hwndParent; - int dwFlags; - int nToolBarId; - HINSTANCE hInstRes; - int nBmpId; - int cBmpImages; - HWND hwndMB; - } - - struct SHRGINFO { - DWORD cbSize; - HWND hwndClient; - POINT ptDown; - DWORD dwFlags; - } - - struct SIPINFO { - DWORD cbSize; - DWORD fdwFlags; - RECT rcVisibleDesktop; - RECT rcSipRect; - DWORD dwImDataSize; - VOID *pvImData; - } -//} // end of version WinCE - -//struct SIZE { -// LONG cx; -// LONG cy; -//} -//alias SIZE* LPSIZE, LPSIZEL; -//alias SIZE SIZEL; - - -struct TBBUTTONINFOA{ - align(2): - UINT cbSize; - DWORD dwMask; - int idCommand; - int iImage; - BYTE fsState; - BYTE fsStyle; - WORD cx; - DWORD_PTR lParam; - LPSTR pszText; - int cchText; -} -struct TBBUTTONINFOW{ - align(2): - UINT cbSize; - DWORD dwMask; - int idCommand; - int iImage; - BYTE fsState; - BYTE fsStyle; - WORD cx; - DWORD_PTR lParam; - LPWSTR pszText; - int cchText; -} -version(Win32SansUnicode){ - alias TBBUTTONINFOA TBBUTTONINFO; -}else{ - alias TBBUTTONINFOW TBBUTTONINFO; -} -alias TBBUTTONINFO* LPTBBUTTONINFO; - - -struct TCITEMA { - UINT mask; - DWORD dwState; - DWORD dwStateMask; - LPSTR pszText; - int cchTextMax; - int iImage; -} -struct TCITEMW { - UINT mask; - DWORD dwState; - DWORD dwStateMask; - LPWSTR pszText; - int cchTextMax; - int iImage; - LPARAM lParam; -} -version(Win32SansUnicode){ - alias TCITEMA TCITEM; -}else{ - alias TCITEMW TCITEM; -} - - -// struct TOOLINFOA { -// UINT cbSize; -// UINT uFlags; -// HWND hwnd; -// UINT uId; -// RECT rect; -// HINSTANCE hinst; -// LPSTR lpszText; -// LPARAM lParam; -// } -// struct TOOLINFOW { -// UINT cbSize; -// UINT uFlags; -// HWND hwnd; -// UINT uId; -// RECT rect; -// HINSTANCE hinst; -// LPWSTR lpszText; -// LPARAM lParam; -// } -// version(Win32SansUnicode){ -// alias TOOLINFOA TOOLINFO; -// }else{ -// alias TOOLINFOW TOOLINFO; -// } - -struct TRACKMOUSEEVENT { - DWORD cbSize; - DWORD dwFlags; - HWND hwndTrack; - DWORD dwHoverTime; -} -alias TRACKMOUSEEVENT* PTRACKMOUSEEVENT, LPTRACKMOUSEEVENT; - -struct TRIVERTEX { - LONG x; - LONG y; - COLOR16 Red; - COLOR16 Green; - COLOR16 Blue; - COLOR16 Alpha; -} -alias TRIVERTEX* PTRIVERTEX, LPTRIVERTEX; - - -struct TVHITTESTINFO { - POINT pt; - UINT flags; - HTREEITEM hItem; -} - - - - - - -//alias extern(Windows) int (*PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM); -struct TVSORTCB { - HTREEITEM hParent; - PFNTVCOMPARE lpfnCompare; - LPARAM lParam; -} - - - - -//struct WINDOWPLACEMENT { -// UINT length; -// UINT flags; -// UINT showCmd; -// POINT ptMinPosition; -// POINT ptMaxPosition; -// RECT rcNormalPosition; -//} -// -// struct WINDOWPOS { -// HWND hwnd; -// HWND hwndInsertAfter; -// int x; -// int y; -// int cx; -// int cy; -// UINT flags; -// } - -// WNDCLASSA is declared in phobos -// struct WNDCLASSW { -// UINT style; -// WNDPROC_I lpfnWndProc; -// int cbClsExtra; -// int cbWndExtra; -// HINSTANCE hInstance; -// HICON hIcon; -// HCURSOR hCursor; -// HBRUSH hbrBackground; -// LPCWSTR lpszMenuName; -// LPCWSTR lpszClassName; -// }alias WNDCLASSW* PWNDCLASSW, LPWNDCLASSW; -// -// // since phobos has alias WNDCLASSA to WNDCLASS, we have to alias it another name -// version(Win32SansUnicode){ -// alias WNDCLASSA WNDCLASS_T; -// }else{ -// alias WNDCLASSW WNDCLASS_T; -// } - -enum TF_DA_COLORTYPE { - TF_CT_NONE = 0, - TF_CT_SYSCOLOR = 1, - TF_CT_COLORREF = 2 -} - -enum TF_DA_LINESTYLE { - TF_LS_NONE = 0, - TF_LS_SOLID = 1, - TF_LS_DOT = 2, - TF_LS_DASH = 3, - TF_LS_SQUIGGLE = 4 -} - -enum TF_DA_ATTR_INFO { - TF_ATTR_INPUT = 0, - TF_ATTR_TARGET_CONVERTED = 1, - TF_ATTR_CONVERTED = 2, - TF_ATTR_TARGET_NOTCONVERTED = 3, - TF_ATTR_INPUT_ERROR = 4, - TF_ATTR_FIXEDCONVERTED = 5, - TF_ATTR_OTHER = -1 -} - -struct TF_DA_COLOR { - TF_DA_COLORTYPE type; - union { - int nIndex; - COLORREF cr; - }; -} - -struct TF_DISPLAYATTRIBUTE{ - TF_DA_COLOR crText; - TF_DA_COLOR crBk; - TF_DA_LINESTYLE lsStyle; - BOOL fBoldLine; - TF_DA_COLOR crLine; - TF_DA_ATTR_INFO bAttr; -} - -struct NMTTCUSTOMDRAW { - NMCUSTOMDRAW nmcd; - UINT uDrawFlags; -} -alias NMTTCUSTOMDRAW* LPNMTTCUSTOMDRAW; - -struct SHDRAGIMAGE { - SIZE sizeDragImage; - POINT ptOffset; - HBITMAP hbmpDragImage; - COLORREF crColorKey; -} - -const CCHILDREN_SCROLLBAR = 5; -struct SCROLLBARINFO { - DWORD cbSize; - RECT rcScrollBar; - int dxyLineButton; - int xyThumbTop; - int xyThumbBottom; - int reserved; - DWORD rgstate[CCHILDREN_SCROLLBAR+1]; -} -alias SCROLLBARINFO* PSCROLLBARINFO; - -} // end of extern(Windows) - - - - - -// shlwapi.h -enum {ASSOCF_INIT_BYEXENAME, - ASSOCF_OPEN_BYEXENAME, - ASSOCF_INIT_DEFAULTTOSTAR, - ASSOCF_INIT_DEFAULTTOFOLDER, - ASSOCF_NOUSERSETTINGS, - ASSOCF_NOTRUNCATE, - ASSOCF_VERIFY, - ASSOCF_REMAPRUNDLL, - ASSOCF_NOFIXUPS, - ASSOCF_IGNOREBASECLASS -}; - -alias DWORD ASSOCF; +/* + * This module declared types required by DWT but not in std.c.windows.windows + */ + +module dwt.internal.win32.WINTYPES; + +/* + adopted form tango + Author: Trevor Parscal +*/ + +/+ Aliases, Types, and Constants +/ +const void* NULL = null; +alias int SCODE; +alias void VOID; +alias void* POINTER; +alias ushort ATOM; +alias int WINBOOL; +alias WINBOOL BOOL; +alias uint CALTYPE; +alias uint CALID; +alias ubyte CCHAR; +alias ubyte* PCHAR; +alias uint COLORREF; +alias uint TCOLORREF; +alias ubyte CHAR; +alias ubyte BYTE; +alias short INT16; +alias ushort UINT16; +alias short SHORT; +alias int INT; +alias int WINT; +alias int LONG; +alias ushort WORD; +alias uint DWORD; +alias int INT_PTR; +alias uint UINT_PTR; +alias int LONG_PTR; +alias uint ULONG_PTR; +alias uint PROPID; +const BOOL FALSE = 0; +const BOOL TRUE = -1; +alias ubyte* PANSICHAR; +alias wchar* PWIDECHAR; +alias int* PINTEGER; +alias long LONGLONG; +alias LONGLONG* PLONGLONG; +alias ulong DWORDLONG; +alias DWORDLONG* PDWORDLONG; +alias float FLOAT; +alias void* HANDLE; +alias HANDLE HACCEL; +alias HANDLE HBITMAP; +alias HANDLE HBRUSH; +alias HANDLE HCOLORSPACE; +alias HANDLE HCONV; +alias HANDLE HCONVLIST; +alias HANDLE HCURSOR; +alias HANDLE HDBC; +alias HANDLE HDC; +alias HANDLE HDDEDATA; +alias HANDLE HDESK; +alias HANDLE HDROP; +alias HANDLE HDWP; +alias HANDLE HENHMETAFILE; +alias HANDLE HENV; +alias HANDLE HFILE; +alias HANDLE HFONT; +alias HANDLE HGDIOBJ; +alias HANDLE HGLOBAL; +alias HANDLE HGLRC; +alias HANDLE HHOOK; +alias HANDLE HICON; +alias HANDLE HIMAGELIST; +alias HANDLE HINST; +alias HINST HINSTANCE; +alias HANDLE HKEY; +alias HANDLE HKL; +alias HANDLE HLOCAL; +alias HANDLE HMENU; +alias HANDLE HMETAFILE; +alias HANDLE HMODULE; +alias HANDLE HPALETTE; +alias HANDLE HPEN; +alias HANDLE HRASCONN; +alias int HRESULT; +alias HANDLE HRGN; +alias HANDLE HRSRC; +alias HANDLE HSTMT; +alias HANDLE HSZ; +alias HANDLE HWINSTA; +alias HANDLE HWND; +alias ushort LANGID; +alias DWORD LCID; +alias DWORD LCTYPE; +alias int LPARAM; +alias ushort* LP; +alias WINBOOL* LPBOOL; +alias ubyte* LPBYTE; +alias PCHAR LPCCH; +alias PCHAR LPCH; +alias COLORREF* LPCOLORREF; +alias PCHAR LPCSTR; +alias TCHAR* LPCTSTR; +alias wchar* LPCWCH; +alias wchar* LPCWSTR; +alias DWORD* LPDWORD; +alias HANDLE* LPHANDLE; +alias int* LPINT; +alias int* LPLONG; +alias PCHAR LPSTR; +alias PCHAR LPTCH; +alias TCHAR* LPTSTR; +alias int LRESULT; +alias POINTER LPVOID; +alias POINTER LPCVOID; +alias wchar* LPWCH; +alias wchar* LPWORD; +alias wchar* LPWSTR; +alias wchar* NWPSTR; +alias WINBOOL* PWINBOOL; +alias ubyte* PBOOLEAN; +alias ubyte* PBYTE; +alias PCHAR PCCH; +alias PCHAR PCH; +alias PCHAR PCSTR; +alias wchar* PCWCH; +alias wchar* PCWSTR; +alias DWORD* PDWORD; +alias float* PFLOAT; +alias HANDLE* PHANDLE; +alias HKEY* PHKEY; +alias int* PINT; +alias int* PLONG; +alias int* PSHORT; +alias PCHAR PSTR; +alias PCHAR PSZ; +alias ubyte* PTBYTE; +alias PCHAR PTCH; +alias PCHAR PTCHAR; +alias PCHAR PTSTR; +alias ubyte* PUCHAR; +alias wchar* PWCH; +alias wchar* PWCHAR; +alias ushort* PWORD; +alias uint* PUINT; +alias uint* PULONG; +alias ushort* PUSHORT; +alias POINTER PVOID; +// NOTE: This is defined in sqltypes. Probably shouldn't be here. Commenting for now. +//alias int RETCODE; +alias HANDLE SC_HANDLE; +alias LPVOID SC_LOCK; +alias SC_HANDLE* LPSC_HANDLE; +alias DWORD SERVICE_STATUS_HANDLE; +alias ubyte TBYTE; + +version(Win32SansUnicode){ + alias ubyte TCHAR; +}else{ + alias wchar TCHAR; +} + +alias ubyte BCHAR; +alias ubyte UCHAR; +alias wchar WCHAR; +alias uint UINT; +alias uint ULONG; +alias ushort USHORT; +alias uint WPARAM; +alias int ACL_INFORMATION_CLASS; + +alias GUID IID; +alias IID* REFIID; + +// Cast a string literal to a ubyte*=PCHAR +template _PCHAR( char[] a ){ + const PCHAR _PCHAR = cast(PCHAR)a.ptr; +} + +enum { AclRevisionInformation = 1, AclSizeInformation, }; +alias ACL_INFORMATION_CLASS _ACL_INFORMATION_CLASS; +alias int MEDIA_TYPE; +enum { Unknown, F5_1Pt2_512, F3_1Pt44_512, F3_2Pt88_512, F3_20Pt8_512, F3_720_512, F5_360_512, F5_320_512, F5_320_1024, F5_180_512, F5_160_512, RemovableMedia, FixedMedia, }; +alias MEDIA_TYPE _MEDIA_TYPE; +const int RASCS_DONE = (0x2000); +const int RASCS_PAUSED = (0x1000); +alias int RASCONNSTATE; +enum { RASCS_OpenPort = 0, RASCS_PortOpened, RASCS_ConnectDevice, RASCS_DeviceConnected, RASCS_AllDevicesConnected, RASCS_Authenticate, RASCS_AuthNotify, RASCS_AuthRetry, RASCS_AuthCallback, RASCS_AuthChangePassword, RASCS_AuthProject, RASCS_AuthLinkSpeed, RASCS_AuthAck, RASCS_ReAuthenticate, RASCS_Authenticated, RASCS_PrepareForCallback, RASCS_WaitForModemReset, RASCS_WaitForCallback, RASCS_Projected, RASCS_StartAuthentication, RASCS_CallbackComplete, RASCS_LogonNetwork, RASCS_Interactive = RASCS_PAUSED, RASCS_RetryAuthentication, RASCS_CallbackSetByCaller, RASCS_PasswordExpired, RASCS_Connected = RASCS_DONE, RASCS_Disconnected, }; +alias RASCONNSTATE _RASCONNSTATE; +alias int RASPROJECTION; +enum { RASP_Amb = 0x10000, RASP_PppNbf = 0x803F, RASP_PppIpx = 0x802B, RASP_PppIp = 0x8021, }; +alias RASPROJECTION _RASPROJECTION; +alias int SECURITY_IMPERSONATION_LEVEL; +enum { SecurityAnonymous, SecurityIdentification, SecurityImpersonation, SecurityDelegation, }; +alias SECURITY_IMPERSONATION_LEVEL _SECURITY_IMPERSONATION_LEVEL; +alias int SID_NAME_USE; +enum { SidTypeUser = 1, SidTypeGroup, SidTypeDomain, SidTypeAlias, SidTypeWellKnownGroup, SidTypeDeletedAccount, SidTypeInvalid, SidTypeUnknown, }; +alias SID_NAME_USE* PSID_NAME_USE; +alias SID_NAME_USE _SID_NAME_USE; +alias int TOKEN_INFORMATION_CLASS; +enum { TokenUser = 1, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, TokenStatistics, }; +alias TOKEN_INFORMATION_CLASS _TOKEN_INFORMATION_CLASS; +alias int TOKEN_TYPE; +enum { TokenPrimary = 1, TokenImpersonation, }; +alias TOKEN_TYPE TAGTOKEN_TYPE; + +extern(Windows){ +alias int (*BFFCALLBACK)(HWND, UINT, LPARAM, LPARAM); +alias UINT (*LPCCHOOKPROC)(HWND, UINT, WPARAM, LPARAM); +alias UINT (*LPCFHOOKPROC)(HWND, UINT, WPARAM, LPARAM); +alias POINTER PTHREAD_START_ROUTINE; +alias PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE; +alias DWORD (*EDITSTREAMCALLBACK)(DWORD, LPBYTE, LONG, LONG); +alias UINT (*LPFRHOOKPROC)(HWND, UINT, WPARAM, LPARAM); +alias UINT (*LPOFNHOOKPROC)(HWND, UINT, WPARAM, LPARAM); +alias UINT (*LPPRINTHOOKPROC)(HWND, UINT, WPARAM, LPARAM); +alias UINT (*LPSETUPHOOKPROC)(HWND, UINT, WPARAM, LPARAM); +alias LRESULT (*DLGPROC)(HWND, UINT, WPARAM, LPARAM); +alias int (*PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM); +alias void (*LPSERVICE_MAIN_FUNCTION)(DWORD); +alias int (*PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM); +alias LRESULT (*WNDPROC)(HWND, UINT, WPARAM, LPARAM); +alias POINTER FARPROC; +alias FARPROC PROC; +alias WINBOOL (*ENUMRESTYPEPROC)(HANDLE, LPTSTR, LONG); +alias WINBOOL (*ENUMRESNAMEPROC)(HANDLE, LPCTSTR, LPTSTR, LONG); +alias WINBOOL (*ENUMRESLANGPROC)(HANDLE, LPCTSTR, LPCTSTR, ushort, LONG); +alias FARPROC DESKTOPENUMPROC; +alias WINBOOL (*ENUMWINDOWSPROC)(HWND, LPARAM); +alias WINBOOL (*ENUMWINDOWSTATIONPROC)(LPTSTR, LPARAM); +alias void (*SENDASYNCPROC)(HWND, UINT, DWORD); +alias void (*TIMERPROC)(HWND, UINT, UINT, DWORD); +alias BOOL(*MONITORENUMPROC)(HMONITOR, HDC, RECT*, LPARAM); +alias FARPROC GRAYSTRINGPROC; +alias WINBOOL (*DRAWSTATEPROC)(HDC, LPARAM, WPARAM, int, int); +alias WINBOOL (*PROPENUMPROCEX)(HWND, LPCTSTR, HANDLE, DWORD); +alias WINBOOL (*PROPENUMPROC)(HWND, LPCTSTR, HANDLE); +alias LRESULT (*HOOKPROC)(int, WPARAM, LPARAM); +alias void (*ENUMOBJECTSPROC)(LPVOID); +alias void (*LINEDDAPROC)(int, int); +alias WINBOOL (*TABORTPROC)(HDC, int); +alias UINT (*LPPAGEPAINTHOOK)(HWND, UINT, WPARAM, LPARAM); +alias UINT (*LPPAGESETUPHOOK)(HWND, UINT, WPARAM, LPARAM); +alias int (*ICMENUMPROC)(LPTSTR, LPARAM); +alias LONG (*EDITWORDBREAKPROCEX)(PCHAR, LONG, ubyte, INT); +alias int (*PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM); +alias WINBOOL (*LOCALE_ENUMPROC)(LPTSTR); +alias WINBOOL (*CODEPAGE_ENUMPROC)(LPTSTR); +alias WINBOOL (*DATEFMT_ENUMPROC)(LPTSTR); +alias WINBOOL (*TIMEFMT_ENUMPROC)(LPTSTR); +alias WINBOOL (*CALINFO_ENUMPROC)(LPTSTR); +alias WINBOOL (*PHANDLER_ROUTINE)(DWORD); +alias WINBOOL (*LPHANDLER_FUNCTION)(DWORD); +alias void (*PTIMERAPCROUTINE)(LPVOID, DWORD, DWORD); +alias UINT (*PFNGETPROFILEPATH)(LPCTSTR, LPSTR, UINT); +alias UINT (*PFNRECONCILEPROFILE)(LPCTSTR, LPCTSTR, DWORD); +alias WINBOOL (*PFNPROCESSPOLICIES)(HWND, LPCTSTR, LPCTSTR, LPCTSTR, DWORD); +} + +const { + LPCTSTR SE_CREATE_TOKEN_NAME = ("SeCreateTokenPrivilege"); + LPCTSTR SE_ASSIGNPRIMARYTOKEN_NAME = ("SeAssignPrimaryTokenPrivilege"); + LPCTSTR SE_LOCK_MEMORY_NAME = ("SeLockMemoryPrivilege"); + LPCTSTR SE_INCREASE_QUOTA_NAME = ("SeIncreaseQuotaPrivilege"); + LPCTSTR SE_UNSOLICITED_INPUT_NAME = ("SeUnsolicitedInputPrivilege"); + LPCTSTR SE_MACHINE_ACCOUNT_NAME = ("SeMachineAccountPrivilege"); + LPCTSTR SE_TCB_NAME = ("SeTcbPrivilege"); + LPCTSTR SE_SECURITY_NAME = ("SeSecurityPrivilege"); + LPCTSTR SE_TAKE_OWNERSHIP_NAME = ("SeTakeOwnershipPrivilege"); + LPCTSTR SE_LOAD_DRIVER_NAME = ("SeLoadDriverPrivilege"); + LPCTSTR SE_SYSTEM_PROFILE_NAME = ("SeSystemProfilePrivilege"); + LPCTSTR SE_SYSTEMTIME_NAME = ("SeSystemtimePrivilege"); + LPCTSTR SE_PROF_SINGLE_PROCESS_NAME = ("SeProfileSingleProcessPrivilege"); + LPCTSTR SE_INC_BASE_PRIORITY_NAME = ("SeIncreaseBasePriorityPrivilege"); + LPCTSTR SE_CREATE_PAGEFILE_NAME = ("SeCreatePagefilePrivilege"); + LPCTSTR SE_CREATE_PERMANENT_NAME = ("SeCreatePermanentPrivilege"); + LPCTSTR SE_BACKUP_NAME = ("SeBackupPrivilege"); + LPCTSTR SE_RESTORE_NAME = ("SeRestorePrivilege"); + LPCTSTR SE_SHUTDOWN_NAME = ("SeShutdownPrivilege"); + LPCTSTR SE_DEBUG_NAME = ("SeDebugPrivilege"); + LPCTSTR SE_AUDIT_NAME = ("SeAuditPrivilege"); + LPCTSTR SE_SYSTEM_ENVIRONMENT_NAME = ("SeSystemEnvironmentPrivilege"); + LPCTSTR SE_CHANGE_NOTIFY_NAME = ("SeChangeNotifyPrivilege"); + LPCTSTR SE_REMOTE_SHUTDOWN_NAME = ("SeRemoteShutdownPrivilege"); + + LPCSTR SERVICES_ACTIVE_DATABASEA = _PCHAR!("ServicesActive"); + LPCWSTR SERVICES_ACTIVE_DATABASEW = ("ServicesActive"); + LPCSTR SERVICES_FAILED_DATABASEA = _PCHAR!("ServicesFailed"); + LPCWSTR SERVICES_FAILED_DATABASEW = ("ServicesFailed"); + LPCSTR SC_GROUP_IDENTIFIERA = _PCHAR!("+"); + LPCWSTR SC_GROUP_IDENTIFIERW = ("+"); + version(Win32SansUnicode){ + alias SERVICES_ACTIVE_DATABASEA SERVICES_ACTIVE_DATABASE; + alias SERVICES_FAILED_DATABASEA SERVICES_FAILED_DATABASE; + alias SC_GROUP_IDENTIFIERA SC_GROUP_IDENTIFIER; + } + else{ + alias SERVICES_ACTIVE_DATABASEW SERVICES_ACTIVE_DATABASE; + alias SERVICES_FAILED_DATABASEW SERVICES_FAILED_DATABASE; + alias SC_GROUP_IDENTIFIERW SC_GROUP_IDENTIFIER; + } +} + +extern(Windows){ +alias HDDEDATA (*PFNCALLBACK)(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, DWORD); +} +alias PFNCALLBACK CALLB; +alias WINBOOL SECURITY___FILE___TRACKING_MODE; +alias FARPROC WNDENUMPROC; +alias FARPROC ENHMFENUMPROC; +alias DWORD CCSTYLE; +alias CCSTYLE* PCCSTYLE; +alias CCSTYLE* LPCCSTYLE; +alias DWORD CCSTYLEFLAGA; +alias CCSTYLEFLAGA* PCCSTYLEFLAGA; +alias CCSTYLEFLAGA* LPCCSTYLEFLAGA; + +const HANDLE INVALID_HANDLE_VALUE = cast(HANDLE) -1; + + +enum : DWORD { + SM_CXVIRTUALSCREEN = (76), + SM_CYVIRTUALSCREEN = (77), + MONITORINFOF_PRIMARY = (1), + LZERROR_UNKNOWNALG = -((8)), + LZERROR_BADVALUE = -((7)), + LZERROR_GLOBLOCK = -((6)), + LZERROR_GLOBALLOC = -((5)), + LZERROR_WRITE = -((4)), + LZERROR_READ = -((3)), + LZERROR_BADOUTHANDLE = -((2)), + LZERROR_BADINHANDLE = -((1)), + NO_ERROR = (0), + ERROR_SUCCESS = (0), + ERROR_INVALID_FUNCTION = (1), + ERROR_FILE_NOT_FOUND = (2), + ERROR_PATH_NOT_FOUND = (3), + ERROR_TOO_MANY_OPEN_FILES = (4), + ERROR_ACCESS_DENIED = (5), + ERROR_INVALID_HANDLE = (6), + ERROR_ARENA_TRASHED = (7), + ERROR_NOT_ENOUGH_MEMORY = (8), + ERROR_INVALID_BLOCK = (9), + ERROR_BAD_ENVIRONMENT = (10), + ERROR_BAD_FORMAT = (11), + ERROR_INVALID_ACCESS = (12), + ERROR_INVALID_DATA = (13), + ERROR_OUTOFMEMORY = (14), + ERROR_INVALID_DRIVE = (15), + ERROR_CURRENT_DIRECTORY = (16), + ERROR_NOT_SAME_DEVICE = (17), + ERROR_NO_MORE_FILES = (18), + ERROR_WRITE_PROTECT = (19), + ERROR_BAD_UNIT = (20), + ERROR_NOT_READY = (21), + ERROR_BAD_COMMAND = (22), + ERROR_CRC = (23), + ERROR_BAD_LENGTH = (24), + ERROR_SEEK = (25), + ERROR_NOT_DOS_DISK = (26), + ERROR_SECTOR_NOT_FOUND = (27), + ERROR_OUT_OF_PAPER = (28), + ERROR_WRITE_FAULT = (29), + ERROR_READ_FAULT = (30), + ERROR_GEN_FAILURE = (31), + ERROR_SHARING_VIOLATION = (32), + ERROR_LOCK_VIOLATION = (33), + ERROR_WRONG_DISK = (34), + ERROR_SHARING_BUFFER_EXCEEDED = (36), + ERROR_HANDLE_EOF = (38), + ERROR_HANDLE_DISK_FULL = (39), + ERROR_NOT_SUPPORTED = (50), + ERROR_REM_NOT_LIST = (51), + ERROR_DUP_NAME = (52), + ERROR_BAD_NETPATH = (53), + ERROR_NETWORK_BUSY = (54), + ERROR_DEV_NOT_EXIST = (55), + ERROR_TOO_MANY_CMDS = (56), + ERROR_ADAP_HDW_ERR = (57), + ERROR_BAD_NET_RESP = (58), + ERROR_UNEXP_NET_ERR = (59), + ERROR_BAD_REM_ADAP = (60), + ERROR_PRINTQ_FULL = (61), + ERROR_NO_SPOOL_SPACE = (62), + ERROR_PRINT_CANCELLED = (63), + ERROR_NETNAME_DELETED = (64), + ERROR_NETWORK_ACCESS_DENIED = (65), + ERROR_BAD_DEV_TYPE = (66), + ERROR_BAD_NET_NAME = (67), + ERROR_TOO_MANY_NAMES = (68), + ERROR_TOO_MANY_SESS = (69), + ERROR_SHARING_PAUSED = (70), + ERROR_REQ_NOT_ACCEP = (71), + ERROR_REDIR_PAUSED = (72), + ERROR_FILE_EXISTS = (80), + ERROR_CANNOT_MAKE = (82), + ERROR_FAIL_I24 = (83), + ERROR_OUT_OF_STRUCTURES = (84), + ERROR_ALREADY_ASSIGNED = (85), + ERROR_INVALID_PASSWORD = (86), + ERROR_INVALID_PARAMETER = (87), + ERROR_NET_WRITE_FAULT = (88), + ERROR_NO_PROC_SLOTS = (89), + ERROR_TOO_MANY_SEMAPHORES = (100), + ERROR_EXCL_SEM_ALREADY_OWNED = (101), + ERROR_SEM_IS_SET = (102), + ERROR_TOO_MANY_SEM_REQUESTS = (103), + ERROR_INVALID_AT_INTERRUPT_TIME = (104), + ERROR_SEM_OWNER_DIED = (105), + ERROR_SEM_USER_LIMIT = (106), + ERROR_DISK_CHANGE = (107), + ERROR_DRIVE_LOCKED = (108), + ERROR_BROKEN_PIPE = (109), + ERROR_OPEN_FAILED = (110), + ERROR_BUFFER_OVERFLOW = (111), + ERROR_DISK_FULL = (112), + ERROR_NO_MORE_SEARCH_HANDLES = (113), + ERROR_INVALID_TARGET_HANDLE = (114), + ERROR_INVALID_CATEGORY = (117), + ERROR_INVALID_VERIFY_SWITCH = (118), + ERROR_BAD_DRIVER_LEVEL = (119), + ERROR_CALL_NOT_IMPLEMENTED = (120), + ERROR_SEM_TIMEOUT = (121), + ERROR_INSUFFICIENT_BUFFER = (122), + ERROR_INVALID_NAME = (123), + ERROR_INVALID_LEVEL = (124), + ERROR_NO_VOLUME_LABEL = (125), + ERROR_MOD_NOT_FOUND = (126), + ERROR_PROC_NOT_FOUND = (127), + ERROR_WAIT_NO_CHILDREN = (128), + ERROR_CHILD_NOT_COMPLETE = (129), + ERROR_DIRECT_ACCESS_HANDLE = (130), + ERROR_NEGATIVE_SEEK = (131), + ERROR_SEEK_ON_DEVICE = (132), + ERROR_IS_JOIN_TARGET = (133), + ERROR_IS_JOINED = (134), + ERROR_IS_SUBSTED = (135), + ERROR_NOT_JOINED = (136), + ERROR_NOT_SUBSTED = (137), + ERROR_JOIN_TO_JOIN = (138), + ERROR_SUBST_TO_SUBST = (139), + ERROR_JOIN_TO_SUBST = (140), + ERROR_SUBST_TO_JOIN = (141), + ERROR_BUSY_DRIVE = (142), + ERROR_SAME_DRIVE = (143), + ERROR_DIR_NOT_ROOT = (144), + ERROR_DIR_NOT_EMPTY = (145), + ERROR_IS_SUBST_PATH = (146), + ERROR_IS_JOIN_PATH = (147), + ERROR_PATH_BUSY = (148), + ERROR_IS_SUBST_TARGET = (149), + ERROR_SYSTEM_TRACE = (150), + ERROR_INVALID_EVENT_COUNT = (151), + ERROR_TOO_MANY_MUXWAITERS = (152), + ERROR_INVALID_LIST_FORMAT = (153), + ERROR_LABEL_TOO_LONG = (154), + ERROR_TOO_MANY_TCBS = (155), + ERROR_SIGNAL_REFUSED = (156), + ERROR_DISCARDED = (157), + ERROR_NOT_LOCKED = (158), + ERROR_BAD_THREADID_ADDR = (159), + ERROR_BAD_ARGUMENTS = (160), + ERROR_BAD_PATHNAME = (161), + ERROR_SIGNAL_PENDING = (162), + ERROR_MAX_THRDS_REACHED = (164), + ERROR_LOCK_FAILED = (167), + ERROR_BUSY = (170), + ERROR_CANCEL_VIOLATION = (173), + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = (174), + ERROR_INVALID_SEGMENT_NUMBER = (180), + ERROR_INVALID_ORDINAL = (182), + ERROR_ALREADY_EXISTS = (183), + ERROR_INVALID_FLAG_NUMBER = (186), + ERROR_SEM_NOT_FOUND = (187), + ERROR_INVALID_STARTING_CODESEG = (188), + ERROR_INVALID_STACKSEG = (189), + ERROR_INVALID_MODULETYPE = (190), + ERROR_INVALID_EXE_SIGNATURE = (191), + ERROR_EXE_MARKED_INVALID = (192), + ERROR_BAD_EXE_FORMAT = (193), + ERROR_ITERATED_DATA_EXCEEDS_64k = (194), + ERROR_INVALID_MINALLOCSIZE = (195), + ERROR_DYNLINK_FROM_INVALID_RING = (196), + ERROR_IOPL_NOT_ENABLED = (197), + ERROR_INVALID_SEGDPL = (198), + ERROR_AUTODATASEG_EXCEEDS_64k = (199), + ERROR_RING2SEG_MUST_BE_MOVABLE = (200), + ERROR_RELOC_CHAIN_XEEDS_SEGLIM = (201), + ERROR_INFLOOP_IN_RELOC_CHAIN = (202), + ERROR_ENVVAR_NOT_FOUND = (203), + ERROR_NO_SIGNAL_SENT = (205), + ERROR_FILENAME_EXCED_RANGE = (206), + ERROR_RING2_STACK_IN_USE = (207), + ERROR_META_EXPANSION_TOO_LONG = (208), + ERROR_INVALID_SIGNAL_NUMBER = (209), + ERROR_THREAD_1_INACTIVE = (210), + ERROR_LOCKED = (212), + ERROR_TOO_MANY_MODULES = (214), + ERROR_NESTING_NOT_ALLOWED = (215), + ERROR_BAD_PIPE = (230), + ERROR_PIPE_BUSY = (231), + ERROR_NO_DATA = (232), + ERROR_PIPE_NOT_CONNECTED = (233), + ERROR_MORE_DATA = (234), + ERROR_VC_DISCONNECTED = (240), + ERROR_INVALID_EA_NAME = (254), + ERROR_EA_LIST_INCONSISTENT = (255), + ERROR_NO_MORE_ITEMS = (259), + ERROR_CANNOT_COPY = (266), + ERROR_DIRECTORY = (267), + ERROR_EAS_DIDNT_FIT = (275), + ERROR_EA_FILE_CORRUPT = (276), + ERROR_EA_TABLE_FULL = (277), + ERROR_INVALID_EA_HANDLE = (278), + ERROR_EAS_NOT_SUPPORTED = (282), + ERROR_NOT_OWNER = (288), + ERROR_TOO_MANY_POSTS = (298), + ERROR_PARTIAL_COPY = (299), + ERROR_MR_MID_NOT_FOUND = (317), + ERROR_INVALID_ADDRESS = (487), + ERROR_ARITHMETIC_OVERFLOW = (534), + ERROR_PIPE_CONNECTED = (535), + ERROR_PIPE_LISTENING = (536), + ERROR_EA_ACCESS_DENIED = (994), + ERROR_OPERATION_ABORTED = (995), + ERROR_IO_INCOMPLETE = (996), + ERROR_IO_PENDING = (997), + ERROR_NOACCESS = (998), + ERROR_SWAPERROR = (999), + ERROR_STACK_OVERFLOW = (1001), + ERROR_INVALID_MESSAGE = (1002), + ERROR_CAN_NOT_COMPLETE = (1003), + ERROR_INVALID_FLAGS = (1004), + ERROR_UNRECOGNIZED_VOLUME = (1005), + ERROR_FILE_INVALID = (1006), + ERROR_FULLSCREEN_MODE = (1007), + ERROR_NO_TOKEN = (1008), + ERROR_BADDB = (1009), + ERROR_BADKEY = (1010), + ERROR_CANTOPEN = (1011), + ERROR_CANTREAD = (1012), + ERROR_CANTWRITE = (1013), + ERROR_REGISTRY_RECOVERED = (1014), + ERROR_REGISTRY_CORRUPT = (1015), + ERROR_REGISTRY_IO_FAILED = (1016), + ERROR_NOT_REGISTRY_FILE = (1017), + ERROR_KEY_DELETED = (1018), + ERROR_NO_LOG_SPACE = (1019), + ERROR_KEY_HAS_CHILDREN = (1020), + ERROR_CHILD_MUST_BE_VOLATILE = (1021), + ERROR_NOTIFY_ENUM_DIR = (1022), + ERROR_DEPENDENT_SERVICES_RUNNING = (1051), + ERROR_INVALID_SERVICE_CONTROL = (1052), + ERROR_SERVICE_REQUEST_TIMEOUT = (1053), + ERROR_SERVICE_NO_THREAD = (1054), + ERROR_SERVICE_DATABASE_LOCKED = (1055), + ERROR_SERVICE_ALREADY_RUNNING = (1056), + ERROR_INVALID_SERVICE_ACCOUNT = (1057), + ERROR_SERVICE_DISABLED = (1058), + ERROR_CIRCULAR_DEPENDENCY = (1059), + ERROR_SERVICE_DOES_NOT_EXIST = (1060), + ERROR_SERVICE_CANNOT_ACCEPT_CTRL = (1061), + ERROR_SERVICE_NOT_ACTIVE = (1062), + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = (1063), + ERROR_EXCEPTION_IN_SERVICE = (1064), + ERROR_DATABASE_DOES_NOT_EXIST = (1065), + ERROR_SERVICE_SPECIFIC_ERROR = (1066), + ERROR_PROCESS_ABORTED = (1067), + ERROR_SERVICE_DEPENDENCY_FAIL = (1068), + ERROR_SERVICE_LOGON_FAILED = (1069), + ERROR_SERVICE_START_HANG = (1070), + ERROR_INVALID_SERVICE_LOCK = (1071), + ERROR_SERVICE_MARKED_FOR_DELETE = (1072), + ERROR_SERVICE_EXISTS = (1073), + ERROR_ALREADY_RUNNING_LKG = (1074), + ERROR_SERVICE_DEPENDENCY_DELETED = (1075), + ERROR_BOOT_ALREADY_ACCEPTED = (1076), + ERROR_SERVICE_NEVER_STARTED = (1077), + ERROR_DUPLICATE_SERVICE_NAME = (1078), + ERROR_END_OF_MEDIA = (1100), + ERROR_FILEMARK_DETECTED = (1101), + ERROR_BEGINNING_OF_MEDIA = (1102), + ERROR_SETMARK_DETECTED = (1103), + ERROR_NO_DATA_DETECTED = (1104), + ERROR_PARTITION_FAILURE = (1105), + ERROR_INVALID_BLOCK_LENGTH = (1106), + ERROR_DEVICE_NOT_PARTITIONED = (1107), + ERROR_UNABLE_TO_LOCK_MEDIA = (1108), + ERROR_UNABLE_TO_UNLOAD_MEDIA = (1109), + ERROR_MEDIA_CHANGED = (1110), + ERROR_BUS_RESET = (1111), + ERROR_NO_MEDIA_IN_DRIVE = (1112), + ERROR_NO_UNICODE_TRANSLATION = (1113), + ERROR_DLL_INIT_FAILED = (1114), + ERROR_SHUTDOWN_IN_PROGRESS = (1115), + ERROR_NO_SHUTDOWN_IN_PROGRESS = (1116), + ERROR_IO_DEVICE = (1117), + ERROR_SERIAL_NO_DEVICE = (1118), + ERROR_IRQ_BUSY = (1119), + ERROR_MORE_WRITES = (1120), + ERROR_COUNTER_TIMEOUT = (1121), + ERROR_FLOPPY_ID_MARK_NOT_FOUND = (1122), + ERROR_FLOPPY_WRONG_CYLINDER = (1123), + ERROR_FLOPPY_UNKNOWN_ERROR = (1124), + ERROR_FLOPPY_BAD_REGISTERS = (1125), + ERROR_DISK_RECALIBRATE_FAILED = (1126), + ERROR_DISK_OPERATION_FAILED = (1127), + ERROR_DISK_RESET_FAILED = (1128), + ERROR_EOM_OVERFLOW = (1129), + ERROR_NOT_ENOUGH_SERVER_MEMORY = (1130), + ERROR_POSSIBLE_DEADLOCK = (1131), + ERROR_MAPPED_ALIGNMENT = (1132), + ERROR_SET_POWER_STATE_VETOED = (1140), + ERROR_SET_POWER_STATE_FAILED = (1141), + ERROR_OLD_WIN_VERSION = (1150), + ERROR_APP_WRONG_OS = (1151), + ERROR_SINGLE_INSTANCE_APP = (1152), + ERROR_RMODE_APP = (1153), + ERROR_INVALID_DLL = (1154), + ERROR_NO_ASSOCIATION = (1155), + ERROR_DDE_FAIL = (1156), + ERROR_DLL_NOT_FOUND = (1157), + ERROR_BAD_USERNAME = (2202), + ERROR_NOT_CONNECTED = (2250), + ERROR_OPEN_FILES = (2401), + ERROR_ACTIVE_CONNECTIONS = (2402), + ERROR_DEVICE_IN_USE = (2404), + ERROR_BAD_DEVICE = (1200), + ERROR_CONNECTION_UNAVAIL = (1201), + ERROR_DEVICE_ALREADY_REMEMBERED = (1202), + ERROR_NO_NET_OR_BAD_PATH = (1203), + ERROR_BAD_PROVIDER = (1204), + ERROR_CANNOT_OPEN_PROFILE = (1205), + ERROR_BAD_PROFILE = (1206), + ERROR_NOT_CONTAINER = (1207), + ERROR_EXTENDED_ERROR = (1208), + ERROR_INVALID_GROUPNAME = (1209), + ERROR_INVALID_COMPUTERNAME = (1210), + ERROR_INVALID_EVENTNAME = (1211), + ERROR_INVALID_DOMAINNAME = (1212), + ERROR_INVALID_SERVICENAME = (1213), + ERROR_INVALID_NETNAME = (1214), + ERROR_INVALID_SHARENAME = (1215), + ERROR_INVALID_PASSWORDNAME = (1216), + ERROR_INVALID_MESSAGENAME = (1217), + ERROR_INVALID_MESSAGEDEST = (1218), + ERROR_SESSION_CREDENTIAL_CONFLICT = (1219), + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = (1220), + ERROR_DUP_DOMAINNAME = (1221), + ERROR_NO_NETWORK = (1222), + ERROR_CANCELLED = (1223), + ERROR_USER_MAPPED_FILE = (1224), + ERROR_CONNECTION_REFUSED = (1225), + ERROR_GRACEFUL_DISCONNECT = (1226), + ERROR_ADDRESS_ALREADY_ASSOCIATED = (1227), + ERROR_ADDRESS_NOT_ASSOCIATED = (1228), + ERROR_CONNECTION_INVALID = (1229), + ERROR_CONNECTION_ACTIVE = (1230), + ERROR_NETWORK_UNREACHABLE = (1231), + ERROR_HOST_UNREACHABLE = (1232), + ERROR_PROTOCOL_UNREACHABLE = (1233), + ERROR_PORT_UNREACHABLE = (1234), + ERROR_REQUEST_ABORTED = (1235), + ERROR_CONNECTION_ABORTED = (1236), + ERROR_RETRY = (1237), + ERROR_CONNECTION_COUNT_LIMIT = (1238), + ERROR_LOGIN_TIME_RESTRICTION = (1239), + ERROR_LOGIN_WKSTA_RESTRICTION = (1240), + ERROR_INCORRECT_ADDRESS = (1241), + ERROR_ALREADY_REGISTERED = (1242), + ERROR_SERVICE_NOT_FOUND = (1243), + ERROR_NOT_AUTHENTICATED = (1244), + ERROR_NOT_LOGGED_ON = (1245), + ERROR_CONTINUE = (1246), + ERROR_ALREADY_INITIALIZED = (1247), + ERROR_NO_MORE_DEVICES = (1248), + ERROR_NOT_ALL_ASSIGNED = (1300), + ERROR_SOME_NOT_MAPPED = (1301), + ERROR_NO_QUOTAS_FOR_ACCOUNT = (1302), + ERROR_LOCAL_USER_SESSION_KEY = (1303), + ERROR_NULL_LM_PASSWORD = (1304), + ERROR_UNKNOWN_REVISION = (1305), + ERROR_REVISION_MISMATCH = (1306), + ERROR_INVALID_OWNER = (1307), + ERROR_INVALID_PRIMARY_GROUP = (1308), + ERROR_NO_IMPERSONATION_TOKEN = (1309), + ERROR_CANT_DISABLE_MANDATORY = (1310), + ERROR_NO_LOGON_SERVERS = (1311), + ERROR_NO_SUCH_LOGON_SESSION = (1312), + ERROR_NO_SUCH_PRIVILEGE = (1313), + ERROR_PRIVILEGE_NOT_HELD = (1314), + ERROR_INVALID_ACCOUNT_NAME = (1315), + ERROR_USER_EXISTS = (1316), + ERROR_NO_SUCH_USER = (1317), + ERROR_GROUP_EXISTS = (1318), + ERROR_NO_SUCH_GROUP = (1319), + ERROR_MEMBER_IN_GROUP = (1320), + ERROR_MEMBER_NOT_IN_GROUP = (1321), + ERROR_LAST_ADMIN = (1322), + ERROR_WRONG_PASSWORD = (1323), + ERROR_ILL_FORMED_PASSWORD = (1324), + ERROR_PASSWORD_RESTRICTION = (1325), + ERROR_LOGON_FAILURE = (1326), + ERROR_ACCOUNT_RESTRICTION = (1327), + ERROR_INVALID_LOGON_HOURS = (1328), + ERROR_INVALID_WORKSTATION = (1329), + ERROR_PASSWORD_EXPIRED = (1330), + ERROR_ACCOUNT_DISABLED = (1331), + ERROR_NONE_MAPPED = (1332), + ERROR_TOO_MANY_LUIDS_REQUESTED = (1333), + ERROR_LUIDS_EXHAUSTED = (1334), + ERROR_INVALID_SUB_AUTHORITY = (1335), + ERROR_INVALID_ACL = (1336), + ERROR_INVALID_SID = (1337), + ERROR_INVALID_SECURITY_DESCR = (1338), + ERROR_BAD_INHERITANCE_ACL = (1340), + ERROR_SERVER_DISABLED = (1341), + ERROR_SERVER_NOT_DISABLED = (1342), + ERROR_INVALID_ID_AUTHORITY = (1343), + ERROR_ALLOTTED_SPACE_EXCEEDED = (1344), + ERROR_INVALID_GROUP_ATTRIBUTES = (1345), + ERROR_BAD_IMPERSONATION_LEVEL = (1346), + ERROR_CANT_OPEN_ANONYMOUS = (1347), + ERROR_BAD_VALIDATION_CLASS = (1348), + ERROR_BAD_TOKEN_TYPE = (1349), + ERROR_NO_SECURITY_ON_OBJECT = (1350), + ERROR_CANT_ACCESS_DOMAIN_INFO = (1351), + ERROR_INVALID_SERVER_STATE = (1352), + ERROR_INVALID_DOMAIN_STATE = (1353), + ERROR_INVALID_DOMAIN_ROLE = (1354), + ERROR_NO_SUCH_DOMAIN = (1355), + ERROR_DOMAIN_EXISTS = (1356), + ERROR_DOMAIN_LIMIT_EXCEEDED = (1357), + ERROR_INTERNAL_DB_CORRUPTION = (1358), + ERROR_INTERNAL_ERROR = (1359), + ERROR_GENERIC_NOT_MAPPED = (1360), + ERROR_BAD_DESCRIPTOR_FORMAT = (1361), + ERROR_NOT_LOGON_PROCESS = (1362), + ERROR_LOGON_SESSION_EXISTS = (1363), + ERROR_NO_SUCH_PACKAGE = (1364), + ERROR_BAD_LOGON_SESSION_STATE = (1365), + ERROR_LOGON_SESSION_COLLISION = (1366), + ERROR_INVALID_LOGON_TYPE = (1367), + ERROR_CANNOT_IMPERSONATE = (1368), + ERROR_RXACT_INVALID_STATE = (1369), + ERROR_RXACT_COMMIT_FAILURE = (1370), + ERROR_SPECIAL_ACCOUNT = (1371), + ERROR_SPECIAL_GROUP = (1372), + ERROR_SPECIAL_USER = (1373), + ERROR_MEMBERS_PRIMARY_GROUP = (1374), + ERROR_TOKEN_ALREADY_IN_USE = (1375), + ERROR_NO_SUCH_ALIAS = (1376), + ERROR_MEMBER_NOT_IN_ALIAS = (1377), + ERROR_MEMBER_IN_ALIAS = (1378), + ERROR_ALIAS_EXISTS = (1379), + ERROR_LOGON_NOT_GRANTED = (1380), + ERROR_TOO_MANY_SECRETS = (1381), + ERROR_SECRET_TOO_LONG = (1382), + ERROR_INTERNAL_DB_ERROR = (1383), + ERROR_TOO_MANY___FILE___IDS = (1384), + ERROR_LOGON_TYPE_NOT_GRANTED = (1385), + ERROR_NT_CROSS_ENCRYPTION_REQUIRED = (1386), + ERROR_NO_SUCH_MEMBER = (1387), + ERROR_INVALID_MEMBER = (1388), + ERROR_TOO_MANY_SIDS = (1389), + ERROR_LM_CROSS_ENCRYPTION_REQUIRED = (1390), + ERROR_NO_INHERITANCE = (1391), + ERROR_FILE_CORRUPT = (1392), + ERROR_DISK_CORRUPT = (1393), + ERROR_NO_USER_SESSION_KEY = (1394), + ERROR_LICENSE_QUOTA_EXCEEDED = (1395), + ERROR_INVALID_WINDOW_HANDLE = (1400), + ERROR_INVALID_MENU_HANDLE = (1401), + ERROR_INVALID_CURSOR_HANDLE = (1402), + ERROR_INVALID_ACCEL_HANDLE = (1403), + ERROR_INVALID_HOOK_HANDLE = (1404), + ERROR_INVALID_DWP_HANDLE = (1405), + ERROR_TLW_WITH_WSCHILD = (1406), + ERROR_CANNOT_FIND_WND_CLASS = (1407), + ERROR_WINDOW_OF_OTHER_THREAD = (1408), + ERROR_HOTKEY_ALREADY_REGISTERED = (1409), + ERROR_CLASS_ALREADY_EXISTS = (1410), + ERROR_CLASS_DOES_NOT_EXIST = (1411), + ERROR_CLASS_HAS_WINDOWS = (1412), + ERROR_INVALID_INDEX = (1413), + ERROR_INVALID_ICON_HANDLE = (1414), + ERROR_PRIVATE_DIALOG_INDEX = (1415), + ERROR_LISTBOX_ID_NOT_FOUND = (1416), + ERROR_NO_WILDCARD_CHARACTERS = (1417), + ERROR_CLIPBOARD_NOT_OPEN = (1418), + ERROR_HOTKEY_NOT_REGISTERED = (1419), + ERROR_WINDOW_NOT_DIALOG = (1420), + ERROR_CONTROL_ID_NOT_FOUND = (1421), + ERROR_INVALID_COMBOBOX_MESSAGE = (1422), + ERROR_WINDOW_NOT_COMBOBOX = (1423), + ERROR_INVALID_EDIT_HEIGHT = (1424), + ERROR_DC_NOT_FOUND = (1425), + ERROR_INVALID_HOOK_FILTER = (1426), + ERROR_INVALID_FILTER_PROC = (1427), + ERROR_HOOK_NEEDS_HMOD = (1428), + ERROR_GLOBAL_ONLY_HOOK = (1429), + ERROR_JOURNAL_HOOK_SET = (1430), + ERROR_HOOK_NOT_INSTALLED = (1431), + ERROR_INVALID_LB_MESSAGE = (1432), + ERROR_SETCOUNT_ON_BAD_LB = (1433), + ERROR_LB_WITHOUT_TABSTOPS = (1434), + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = (1435), + ERROR_CHILD_WINDOW_MENU = (1436), + ERROR_NO_SYSTEM_MENU = (1437), + ERROR_INVALID_MSGBOX_STYLE = (1438), + ERROR_INVALID_SPI_VALUE = (1439), + ERROR_SCREEN_ALREADY_LOCKED = (1440), + ERROR_HWNDS_HAVE_DIFF_PARENT = (1441), + ERROR_NOT_CHILD_WINDOW = (1442), + ERROR_INVALID_GW_COMMAND = (1443), + ERROR_INVALID_THREAD_ID = (1444), + ERROR_NON_MDICHILD_WINDOW = (1445), + ERROR_POPUP_ALREADY_ACTIVE = (1446), + ERROR_NO_SCROLLBARS = (1447), + ERROR_INVALID_SCROLLBAR_RANGE = (1448), + ERROR_INVALID_SHOWWIN_COMMAND = (1449), + ERROR_NO_SYSTEM_RESOURCES = (1450), + ERROR_NONPAGED_SYSTEM_RESOURCES = (1451), + ERROR_PAGED_SYSTEM_RESOURCES = (1452), + ERROR_WORKING_SET_QUOTA = (1453), + ERROR_PAGEFILE_QUOTA = (1454), + ERROR_COMMITMENT_LIMIT = (1455), + ERROR_MENU_ITEM_NOT_FOUND = (1456), + ERROR_EVENTLOG_FILE_CORRUPT = (1500), + ERROR_EVENTLOG_CANT_START = (1501), + ERROR_LOG_FILE_FULL = (1502), + ERROR_EVENTLOG_FILE_CHANGED = (1503), + RPC_S_INVALID_STRING_BINDING = (1700), + RPC_S_WRONG_KIND_OF_BINDING = (1701), + RPC_S_INVALID_BINDING = (1702), + RPC_S_PROTSEQ_NOT_SUPPORTED = (1703), + RPC_S_INVALID_RPC_PROTSEQ = (1704), + RPC_S_INVALID_STRING_UUID = (1705), + RPC_S_INVALID_ENDPOINT_FORMAT = (1706), + RPC_S_INVALID_NET_ADDR = (1707), + RPC_S_NO_ENDPOINT_FOUND = (1708), + RPC_S_INVALID_TIMEOUT = (1709), + RPC_S_OBJECT_NOT_FOUND = (1710), + RPC_S_ALREADY_REGISTERED = (1711), + RPC_S_TYPE_ALREADY_REGISTERED = (1712), + RPC_S_ALREADY_LISTENING = (1713), + RPC_S_NO_PROTSEQS_REGISTERED = (1714), + RPC_S_NOT_LISTENING = (1715), + RPC_S_UNKNOWN_MGR_TYPE = (1716), + RPC_S_UNKNOWN_IF = (1717), + RPC_S_NO_BINDINGS = (1718), + RPC_S_NO_PROTSEQS = (1719), + RPC_S_CANT_CREATE_ENDPOINT = (1720), + RPC_S_OUT_OF_RESOURCES = (1721), + RPC_S_SERVER_UNAVAILABLE = (1722), + RPC_S_SERVER_TOO_BUSY = (1723), + RPC_S_INVALID_NETWORK_OPTIONS = (1724), + RPC_S_NO_CALL_ACTIVE = (1725), + RPC_S_CALL_FAILED = (1726), + RPC_S_CALL_FAILED_DNE = (1727), + RPC_S_PROTOCOL_ERROR = (1728), + RPC_S_UNSUPPORTED_TRANS_SYN = (1730), + RPC_S_UNSUPPORTED_TYPE = (1732), + RPC_S_INVALID_TAG = (1733), + RPC_S_INVALID_BOUND = (1734), + RPC_S_NO_ENTRY_NAME = (1735), + RPC_S_INVALID_NAME_SYNTAX = (1736), + RPC_S_UNSUPPORTED_NAME_SYNTAX = (1737), + RPC_S_UUID_NO_ADDRESS = (1739), + RPC_S_DUPLICATE_ENDPOINT = (1740), + RPC_S_UNKNOWN_AUTHN_TYPE = (1741), + RPC_S_MAX_CALLS_TOO_SMALL = (1742), + RPC_S_STRING_TOO_LONG = (1743), + RPC_S_PROTSEQ_NOT_FOUND = (1744), + RPC_S_PROCNUM_OUT_OF_RANGE = (1745), + RPC_S_BINDING_HAS_NO_AUTH = (1746), + RPC_S_UNKNOWN_AUTHN_SERVICE = (1747), + RPC_S_UNKNOWN_AUTHN_LEVEL = (1748), + RPC_S_INVALID_AUTH_IDENTITY = (1749), + RPC_S_UNKNOWN_AUTHZ_SERVICE = (1750), + EPT_S_INVALID_ENTRY = (1751), + EPT_S_CANT_PERFORM_OP = (1752), + EPT_S_NOT_REGISTERED = (1753), + RPC_S_NOTHING_TO_EXPORT = (1754), + RPC_S_INCOMPLETE_NAME = (1755), + RPC_S_INVALID_VERS_OPTION = (1756), + RPC_S_NO_MORE_MEMBERS = (1757), + RPC_S_NOT_ALL_OBJS_UNEXPORTED = (1758), + RPC_S_INTERFACE_NOT_FOUND = (1759), + RPC_S_ENTRY_ALREADY_EXISTS = (1760), + RPC_S_ENTRY_NOT_FOUND = (1761), + RPC_S_NAME_SERVICE_UNAVAILABLE = (1762), + RPC_S_INVALID_NAF_ID = (1763), + RPC_S_CANNOT_SUPPORT = (1764), + RPC_S_NO___FILE___AVAILABLE = (1765), + RPC_S_INTERNAL_ERROR = (1766), + RPC_S_ZERO_DIVIDE = (1767), + RPC_S_ADDRESS_ERROR = (1768), + RPC_S_FP_DIV_ZERO = (1769), + RPC_S_FP_UNDERFLOW = (1770), + RPC_S_FP_OVERFLOW = (1771), + RPC_X_NO_MORE_ENTRIES = (1772), + RPC_X_SS_CHAR_TRANS_OPEN_FAIL = (1773), + RPC_X_SS_CHAR_TRANS_SHORT_FILE = (1774), + RPC_X_SS_IN_NULL___FILE__ = (1775), + RPC_X_SS___FILE___DAMAGED = (1777), + RPC_X_SS_HANDLES_MISMATCH = (1778), + RPC_X_SS_CANNOT_GET_CALL_HANDLE = (1779), + RPC_X_NULL_REF_POINTER = (1780), + RPC_X_ENUM_VALUE_OUT_OF_RANGE = (1781), + RPC_X_BYTE_COUNT_TOO_SMALL = (1782), + RPC_X_BAD_STUB_DATA = (1783), + ERROR_INVALID_USER_BUFFER = (1784), + ERROR_UNRECOGNIZED_MEDIA = (1785), + ERROR_NO_TRUST_LSA_SECRET = (1786), + ERROR_NO_TRUST_SAM_ACCOUNT = (1787), + ERROR_TRUSTED_DOMAIN_FAILURE = (1788), + ERROR_TRUSTED_RELATIONSHIP_FAILURE = (1789), + ERROR_TRUST_FAILURE = (1790), + RPC_S_CALL_IN_PROGRESS = (1791), + ERROR_NETLOGON_NOT_STARTED = (1792), + ERROR_ACCOUNT_EXPIRED = (1793), + ERROR_REDIRECTOR_HAS_OPEN_HANDLES = (1794), + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED = (1795), + ERROR_UNKNOWN_PORT = (1796), + ERROR_UNKNOWN_PRINTER_DRIVER = (1797), + ERROR_UNKNOWN_PRINTPROCESSOR = (1798), + ERROR_INVALID_SEPARATOR_FILE = (1799), + ERROR_INVALID_PRIORITY = (1800), + ERROR_INVALID_PRINTER_NAME = (1801), + ERROR_PRINTER_ALREADY_EXISTS = (1802), + ERROR_INVALID_PRINTER_COMMAND = (1803), + ERROR_INVALID_DATATYPE = (1804), + ERROR_INVALID_ENVIRONMENT = (1805), + RPC_S_NO_MORE_BINDINGS = (1806), + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = (1807), + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = (1808), + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = (1809), + ERROR_DOMAIN_TRUST_INCONSISTENT = (1810), + ERROR_SERVER_HAS_OPEN_HANDLES = (1811), + ERROR_RESOURCE_DATA_NOT_FOUND = (1812), + ERROR_RESOURCE_TYPE_NOT_FOUND = (1813), + ERROR_RESOURCE_NAME_NOT_FOUND = (1814), + ERROR_RESOURCE_LANG_NOT_FOUND = (1815), + ERROR_NOT_ENOUGH_QUOTA = (1816), + RPC_S_NO_INTERFACES = (1817), + RPC_S_CALL_CANCELLED = (1818), + RPC_S_BINDING_INCOMPLETE = (1819), + RPC_S_COMM_FAILURE = (1820), + RPC_S_UNSUPPORTED_AUTHN_LEVEL = (1821), + RPC_S_NO_PRINC_NAME = (1822), + RPC_S_NOT_RPC_ERROR = (1823), + RPC_S_UUID_LOCAL_ONLY = (1824), + RPC_S_SEC_PKG_ERROR = (1825), + RPC_S_NOT_CANCELLED = (1826), + RPC_X_INVALID_ES_ACTION = (1827), + RPC_X_WRONG_ES_VERSION = (1828), + RPC_X_WRONG_STUB_VERSION = (1829), + RPC_S_GROUP_MEMBER_NOT_FOUND = (1898), + EPT_S_CANT_CREATE = (1899), + RPC_S_INVALID_OBJECT = (1900), + ERROR_INVALID_TIME = (1901), + ERROR_INVALID_FORM_NAME = (1902), + ERROR_INVALID_FORM_SIZE = (1903), + ERROR_ALREADY_WAITING = (1904), + ERROR_PRINTER_DELETED = (1905), + ERROR_INVALID_PRINTER_STATE = (1906), + ERROR_PASSWORD_MUST_CHANGE = (1907), + ERROR_DOMAIN_CONTROLLER_NOT_FOUND = (1908), + ERROR_ACCOUNT_LOCKED_OUT = (1909), + ERROR_NO_BROWSER_SERVERS_FOUND = (6118), + ERROR_INVALID_PIXEL_FORMAT = (2000), + ERROR_BAD_DRIVER = (2001), + ERROR_INVALID_WINDOW_STYLE = (2002), + ERROR_METAFILE_NOT_SUPPORTED = (2003), + ERROR_TRANSFORM_NOT_SUPPORTED = (2004), + ERROR_CLIPPING_NOT_SUPPORTED = (2005), + ERROR_UNKNOWN_PRINT_MONITOR = (3000), + ERROR_PRINTER_DRIVER_IN_USE = (3001), + ERROR_SPOOL_FILE_NOT_FOUND = (3002), + ERROR_SPL_NO_STARTDOC = (3003), + ERROR_SPL_NO_ADDJOB = (3004), + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED = (3005), + ERROR_PRINT_MONITOR_ALREADY_INSTALLED = (3006), + ERROR_WINS_INTERNAL = (4000), + ERROR_CAN_NOT_DEL_LOCAL_WINS = (4001), + ERROR_STATIC_INIT = (4002), + ERROR_INC_BACKUP = (4003), + ERROR_FULL_BACKUP = (4004), + ERROR_REC_NON_EXISTENT = (4005), + ERROR_RPL_NOT_ALLOWED = (4006), + MAX_PATH = (260), + LF_FACESIZE = (32), + LF_FULLFACESIZE = (64), + ELF_VENDOR_SIZE = (4), + SECURITY_STATIC_TRACKING = (0), + SECURITY_DYNAMIC_TRACKING = (1), + MAX_DEFAULTCHAR = (2), + MAX_LEADBYTES = (12), + EXCEPTION_MAXIMUM_PARAMETERS = (15), + CCHDEVICENAME = (32), + CCHFORMNAME = (32), + MENU_TEXT_LEN = (40), + MAX_LANA = (254), + NCBNAMSZ = (16), + NETBIOS_NAME_LEN = (16), + OFS_MAXPATHNAME = (128), + MAX_TAB_STOPS = (32), + ANYSIZE_ARRAY = (1), + RAS_MaxCallbackNumber = (128), + RAS_MaxDeviceName = (128), + RAS_MaxDeviceType = (16), + RAS_MaxEntryName = (256), + RAS_MaxIpAddress = (15), + RAS_MaxIpxAddress = (21), + RAS_MaxPhoneNumber = (128), + UNLEN = (256), + PWLEN = (256), + CNLEN = (15), + DNLEN = (15), + MAXDWORD = (0xFFFFFFFF), + MAXWORD = (0xFFFF), + MAXBYTE = (0xFF), + MINCHAR = (0x80), + MAXCHAR = (0x7F), + MINSHORT = (0x8000), + MAXSHORT = (0x7FFF), + MINLONG = (0x80000000), + MAXLONG = (0x7FFFFFFF), + FILE_BEGIN = (0), + FILE_CURRENT = (1), + FILE_END = (2), + OF_READ = (0), + OF_READWRITE = (2), + OF_WRITE = (1), + OF_SHARE_COMPAT = (0), + OF_SHARE_DENY_NONE = (64), + OF_SHARE_DENY_READ = (48), + OF_SHARE_DENY_WRITE = (32), + OF_SHARE_EXCLUSIVE = (16), + OF_CANCEL = (2048), + OF_CREATE = (4096), + OF_DELETE = (512), + OF_EXIST = (16384), + OF_PARSE = (256), + OF_PROMPT = (8192), + OF_REOPEN = (32768), + OF_VERIFY = (1024), + HKL_NEXT = (1), + HKL_PREV = (0), + KLF_REORDER = (8), + KLF_UNLOADPREVIOUS = (4), + KLF_ACTIVATE = (1), + KLF_NOTELLSHELL = (128), + KLF_REPLACELANG = (16), + KLF_SUBSTITUTE_OK = (2), + MF_BITMAP = (0x4), + MF_DISABLED = (0x2), + MF_ENABLED = (0), + MF_GRAYED = (0x1), + MF_HELP = (0x4000), + MF_MENUBARBREAK = (0x20), + MF_MENUBREAK = (0x40), + MF_MOUSESELECT = (0x8000), + MF_OWNERDRAW = (0x100), + MF_POPUP = (0x10), + MF_SEPARATOR = (0x800), + MF_STRING = (0), + MF_SYSMENU = (0x2000), + MF_USECHECKBITMAPS = (0x200), + BLACKNESS = (0x00000042), + NOTSRCERASE = (0x001100A6), + NOTSRCCOPY = (0x00330008), + SRCERASE = (0x00440328), + DSTINVERT = (0x00550009), + PATINVERT = (0x005A0049), + SRCINVERT = (0x00660046), + SRCAND = (0x008800C6), + MERGEPAINT = (0x00BB0226), + MERGECOPY = (0x00C000CA), + SRCCOPY = (0x00CC0020), + SRCPAINT = (0x00EE0086), + PATCOPY = (0x00F00021), + PATPAINT = (0x00FB0A09), + WHITENESS = (0x00FF0062), + R2_BLACK = (1), + R2_COPYPEN = (13), + R2_MASKNOTPEN = (3), + R2_MASKPEN = (9), + R2_MASKPENNOT = (5), + R2_MERGENOTPEN = (12), + R2_MERGEPEN = (15), + R2_MERGEPENNOT = (14), + R2_NOP = (11), + R2_NOT = (6), + R2_NOTCOPYPEN = (4), + R2_NOTMASKPEN = (8), + R2_NOTMERGEPEN = (2), + R2_NOTXORPEN = (10), + R2_WHITE = (16), + R2_XORPEN = (7), + BSF_FLUSHDISK = (4), + BSF_FORCEIFHUNG = (32), + BSF_IGNORECURRENTTASK = (2), + BSF_NOHANG = (8), + BSF_POSTMESSAGE = (16), + BSF_QUERY = (1), + BSM_ALLCOMPONENTS = (0), + BSM_APPLICATIONS = (8), + BSM_INSTALLABLEDRIVERS = (4), + BSM_NETDRIVER = (2), + BSM_VXDS = (1), + BROADCAST_QUERY_DENY = (1112363332), + NMPWAIT_NOWAIT = (1), + NMPWAIT_WAIT_FOREVER = -((1)), + NMPWAIT_USE_DEFAULT_WAIT = (0), + MDITILE_SKIPDISABLED = (2), + MDITILE_HORIZONTAL = (1), + MDITILE_VERTICAL = (0), + HCBT_ACTIVATE = (5), + HCBT_CLICKSKIPPED = (6), + HCBT_CREATEWND = (3), + HCBT_DESTROYWND = (4), + HCBT_KEYSKIPPED = (7), + HCBT_MINMAX = (1), + HCBT_MOVESIZE = (0), + HCBT_QS = (2), + HCBT_SETFOCUS = (9), + HCBT_SYSCOMMAND = (8), + DM_BITSPERPEL = (0x40000), + DM_PELSWIDTH = (0x80000), + DM_PELSHEIGHT = (0x100000), + DM_DISPLAYFLAGS = (0x200000), + DM_DISPLAYFREQUENCY = (0x400000), + CDS_UPDATEREGISTRY = (1), + CDS_TEST = (2), + DISP_CHANGE_SUCCESSFUL = (0), + DISP_CHANGE_RESTART = (1), + DISP_CHANGE_BADFLAGS = -((4)), + DISP_CHANGE_FAILED = -((1)), + DISP_CHANGE_BADMODE = -((2)), + DISP_CHANGE_NOTUPDATED = -((3)), + SERVICE_NO_CHANGE = -((1)), + SERVICE_WIN32_OWN_PROCESS = (16), + SERVICE_WIN32_SHARE_PROCESS = (32), + SERVICE_KERNEL_DRIVER = (1), + SERVICE_FILE_SYSTEM_DRIVER = (2), + SERVICE_INTERACTIVE_PROCESS = (256), + SERVICE_BOOT_START = (0), + SERVICE_SYSTEM_START = (1), + SERVICE_AUTO_START = (2), + SERVICE_DEMAND_START = (3), + SERVICE_DISABLED = (4), + SERVICE_STOPPED = (1), + SERVICE_START_PENDING = (2), + SERVICE_STOP_PENDING = (3), + SERVICE_RUNNING = (4), + SERVICE_CONTINUE_PENDING = (5), + SERVICE_PAUSE_PENDING = (6), + SERVICE_PAUSED = (7), + SERVICE_ACCEPT_STOP = (1), + SERVICE_ACCEPT_PAUSE_CONTINUE = (2), + SERVICE_ACCEPT_SHUTDOWN = (4), + BST_CHECKED = (1), + BST_INDETERMINATE = (2), + BST_UNCHECKED = (0), + BST_FOCUS = (8), + BST_PUSHED = (4), + MF_BYCOMMAND = (0), + MF_BYPOSITION = (0x400), + MF_CHECKED = (0x8), + MF_UNCHECKED = (0), + MF_HILITE = (0x80), + MF_UNHILITE = (0), + CWP_ALL = (0), + CWP_SKIPINVISIBLE = (1), + CWP_SKIPDISABLED = (2), + CWP_SKIPTRANSPARENT = (4), + CE_BREAK = (16), + CE_DNS = (2048), + CE_FRAME = (8), + CE_IOE = (1024), + CE_MODE = (32768), + CE_OOP = (4096), + CE_OVERRUN = (2), + CE_PTO = (512), + CE_RXOVER = (1), + CE_RXPARITY = (4), + CE_TXFULL = (256), + RGN_AND = (1), + RGN_COPY = (5), + RGN_DIFF = (4), + RGN_OR = (2), + RGN_XOR = (3), + NULLREGION = (1), + SIMPLEREGION = (2), + COMPLEXREGION = (3), + ERROR = (0), + CDERR_DIALOGFAILURE = (0xffff), + CDERR_FINDRESFAILURE = (6), + CDERR_INITIALIZATION = (2), + CDERR_LOADRESFAILURE = (7), + CDERR_LOADSTRFAILURE = (5), + CDERR_LOCKRESFAILURE = (8), + CDERR_MEMALLOCFAILURE = (9), + CDERR_MEMLOCKFAILURE = (10), + CDERR_NOHINSTANCE = (4), + CDERR_NOHOOK = (11), + CDERR_NOTEMPLATE = (3), + CDERR_REGISTERMSGFAIL = (12), + CDERR_STRUCTSIZE = (1), + PDERR_CREATEICFAILURE = (0x1000)+(10), + PDERR_DEFAULTDIFFERENT = (0x1000)+(12), + PDERR_DNDMMISMATCH = (0x1000)+(9), + PDERR_GETDEVMODEFAIL = (0x1000)+(5), + PDERR_INITFAILURE = (0x1000)+(6), + PDERR_LOADDRVFAILURE = (0x1000)+(4), + PDERR_NODEFAULTPRN = (0x1000)+(8), + PDERR_NODEVICES = (0x1000)+(7), + PDERR_PARSEFAILURE = (0x1000)+(2), + PDERR_PRINTERNOTFOUND = (0x1000)+(11), + PDERR_RETDEFFAILURE = (0x1000)+(3), + PDERR_SETUPFAILURE = (0x1000)+(1), + CFERR_MAXLESSTHANMIN = (0x2000)+(2), + CFERR_NOFONTS = (0x2000)+(1), + FNERR_BUFFERTOOSMALL = (0x3000)+(3), + FNERR_INVALIDFILENAME = (0x3000)+(2), + FNERR_SUBCLASSFAILURE = (0x3000)+(1), + FRERR_BUFFERLENGTHZERO = (0x4000)+(1), + LOCALE_SYSTEM_DEFAULT = (0x800), + LOCALE_USER_DEFAULT = (0x400), + NORM_IGNORECASE = (1), + NORM_IGNOREKANATYPE = (65536), + NORM_IGNORENONSPACE = (2), + NORM_IGNORESYMBOLS = (4), + NORM_IGNOREWIDTH = (131072), + SORT_STRINGSORT = (4096), + LCMAP_BYTEREV = (2048), + LCMAP_FULLWIDTH = (8388608), + LCMAP_HALFWIDTH = (4194304), + LCMAP_HIRAGANA = (1048576), + LCMAP_KATAKANA = (2097152), + LCMAP_LOWERCASE = (256), + LCMAP_SORTKEY = (1024), + LCMAP_UPPERCASE = (512), + DBG_CONTINUE = (0x10002), + DBG_CONTROL_BREAK = (0x40010008), + DBG_CONTROL_C = (0x40010005), + DBG_EXCEPTION_NOT_HANDLED = (0x80010001), + DBG_TERMINATE_THREAD = (0x40010003), + DBG_TERMINATE_PROCESS = (0x40010004), + SERVICE_CONTROL_STOP = (1), + SERVICE_CONTROL_PAUSE = (2), + SERVICE_CONTROL_CONTINUE = (3), + SERVICE_CONTROL_INTERROGATE = (4), + SERVICE_CONTROL_SHUTDOWN = (5), + IMAGE_BITMAP = (0), + IMAGE_CURSOR = (2), + IMAGE_ENHMETAFILE = (1), + IMAGE_ICON = (1), + LR_COPYDELETEORG = (8), + LR_COPYRETURNORG = (4), + LR_MONOCHROME = (1), + LR_CREATEDIBSECTION = (8192), + LR_DEFAULTSIZE = (64), + DF_ALLOWOTHERACCOUNTHOOK = (0x1), + DESKTOP_CREATEMENU = (0x4), + DESKTOP_CREATEWINDOW = (0x2), + DESKTOP_ENUMERATE = (0x40), + DESKTOP_HOOKCONTROL = (0x8), + DESKTOP_JOURNALPLAYBACK = (0x20), + DESKTOP_JOURNALRECORD = (0x10), + DESKTOP_READOBJECTS = (0x1), + DESKTOP_SWITCHDESKTOP = (0x100), + DESKTOP_WRITEOBJECTS = (0x80), + WSF_VISIBLE = (0x1), + CBM_INIT = (0x4), + DIB_PAL_COLORS = (1), + DIB_RGB_COLORS = (0), + GENERIC_READ = (0x80000000), + GENERIC_WRITE = (0x40000000), + GENERIC_EXECUTE = (0x20000000), + FILE_READ_DATA = (0x0001), + FILE_LIST_DIRECTORY = (0x0001), + FILE_WRITE_DATA = (0x0002), + FILE_ADD_FILE = (0x0002), + FILE_APPEND_DATA = (0x0004), + FILE_ADD_SUBDIRECTORY = (0x0004), + FILE_CREATE_PIPE_INSTANCE = (0x0004), + FILE_READ_EA = (0x0008), + FILE_READ_PROPERTIES = (FILE_READ_EA), + FILE_WRITE_EA = (0x0010), + FILE_WRITE_PROPERTIES = (FILE_WRITE_EA), + FILE_EXECUTE = (0x0020), + FILE_TRAVERSE = (0x0020), + FILE_DELETE_CHILD = (0x0040), + FILE_READ_ATTRIBUTES = (0x0080), + FILE_WRITE_ATTRIBUTES = (0x0100), + FILE_SHARE_DELETE = (4), + FILE_SHARE_READ = (1), + FILE_SHARE_WRITE = (2), + CONSOLE_TEXTMODE_BUFFER = (1), + CREATE_NEW = (1), + CREATE_ALWAYS = (2), + OPEN_EXISTING = (3), + OPEN_ALWAYS = (4), + TRUNCATE_EXISTING = (5), + INVALID_FILE_ATTRIBUTE = (-1), + FILE_ATTRIBUTE_ARCHIVE = (32), + FILE_ATTRIBUTE_COMPRESSED = (2048), + FILE_ATTRIBUTE_NORMAL = (128), + FILE_ATTRIBUTE_DIRECTORY = (16), + FILE_ATTRIBUTE_HIDDEN = (2), + FILE_ATTRIBUTE_READONLY = (1), + FILE_ATTRIBUTE_SYSTEM = (4), + FILE_ATTRIBUTE_TEMPORARY = (256), + FILE_FLAG_WRITE_THROUGH = (2147483648), + FILE_FLAG_OVERLAPPED = (1073741824), + FILE_FLAG_NO_BUFFERING = (536870912), + FILE_FLAG_RANDOM_ACCESS = (268435456), + FILE_FLAG_SEQUENTIAL_SCAN = (134217728), + FILE_FLAG_DELETE_ON_CLOSE = (67108864), + FILE_FLAG_BACKUP_SEMANTICS = (33554432), + FILE_FLAG_POSIX_SEMANTICS = (16777216), + SECURITY_ANONYMOUS = (0), + SECURITY_IDENTIFICATION = (65536), + SECURITY_IMPERSONATION = (131072), + SECURITY_DELEGATION = (196608), + SECURITY___FILE___TRACKING = (262144), + SECURITY_EFFECTIVE_ONLY = (524288), + SECURITY_SQOS_PRESENT = (1048576), + SEC_COMMIT = (134217728), + SEC_IMAGE = (16777216), + SEC_NOCACHE = (268435456), + SEC_RESERVE = (67108864), + PAGE_READONLY = (2), + PAGE_READWRITE = (4), + PAGE_WRITECOPY = (8), + PAGE_EXECUTE = (16), + PAGE_EXECUTE_READ = (32), + PAGE_EXECUTE_READWRITE = (64), + PAGE_EXECUTE_WRITECOPY = (128), + PAGE_GUARD = (256), + PAGE_NOACCESS = (1), + PAGE_NOCACHE = (512), + MEM_COMMIT = (4096), + MEM_FREE = (65536), + MEM_RESERVE = (8192), + MEM_IMAGE = (16777216), + MEM_MAPPED = (262144), + MEM_PRIVATE = (131072), + MEM_DECOMMIT = (16384), + MEM_RELEASE = (32768), + MEM_TOP_DOWN = (1048576), + EXCEPTION_GUARD_PAGE = (0x80000001), + SECTION_EXTEND_SIZE = (0x10), + SECTION_MAP_READ = (0x4), + SECTION_MAP_WRITE = (0x2), + SECTION_QUERY = (0x1), + SECTION_ALL_ACCESS = (0xf001f), + FW_DONTCARE = (0), + FW_THIN = (100), + FW_EXTRALIGHT = (200), + FW_LIGHT = (300), + FW_NORMAL = (400), + FW_REGULAR = (FW_NORMAL), + FW_MEDIUM = (500), + FW_SEMIBOLD = (600), + FW_BOLD = (700), + FW_EXTRABOLD = (800), + FW_HEAVY = (900), + ANSI_CHARSET = (0), + DEFAULT_CHARSET = (1), + SYMBOL_CHARSET = (2), + SHIFTJIS_CHARSET = (128), + HANGEUL_CHARSET = (129), + GB2312_CHARSET = (134), + CHINESEBIG5_CHARSET = (136), + GREEK_CHARSET = (161), + TURKISH_CHARSET = (162), + HEBREW_CHARSET = (177), + ARABIC_CHARSET = (178), + BALTIC_CHARSET = (186), + RUSSIAN_CHARSET = (204), + THAI_CHARSET = (222), + EASTEUROPE_CHARSET = (238), + OEM_CHARSET = (255), + OUT_DEFAULT_PRECIS = (0), + OUT_STRING_PRECIS = (1), + OUT_CHARACTER_PRECIS = (2), + OUT_STROKE_PRECIS = (3), + OUT_TT_PRECIS = (4), + OUT_DEVICE_PRECIS = (5), + OUT_RASTER_PRECIS = (6), + OUT_TT_ONLY_PRECIS = (7), + OUT_OUTLINE_PRECIS = (8), + CLIP_DEFAULT_PRECIS = (0), + CLIP_CHARACTER_PRECIS = (1), + CLIP_STROKE_PRECIS = (2), + CLIP_MASK = (15), + CLIP_LH_ANGLES = (16), + CLIP_TT_ALWAYS = (32), + CLIP_EMBEDDED = (128), + DEFAULT_QUALITY = (0), + DRAFT_QUALITY = (1), + PROOF_QUALITY = (2), + DEFAULT_PITCH = (0), + FIXED_PITCH = (1), + VARIABLE_PITCH = (2), + FF_DECORATIVE = (80), + FF_DONTCARE = (0), + FF_MODERN = (48), + FF_ROMAN = (16), + FF_SCRIPT = (64), + FF_SWISS = (32), + HS_BDIAGONAL = (3), + HS_CROSS = (4), + HS_DIAGCROSS = (5), + HS_FDIAGONAL = (2), + HS_HORIZONTAL = (0), + HS_VERTICAL = (1), + LR_DEFAULTCOLOR = (0), + LR_LOADREALSIZE = (128), + MAILSLOT_WAIT_FOREVER = (0xffffffff), + MAILSLOT_NO_MESSAGE = (0xffffffff), + CMB_MASKED = (2), + PIPE_ACCESS_DUPLEX = (3), + PIPE_ACCESS_INBOUND = (1), + PIPE_ACCESS_OUTBOUND = (2), + WRITE_DAC = (0x40000), + WRITE_OWNER = (0x80000), + ACCESS_SYSTEM_SECURITY = (0x1000000), + PIPE_TYPE_BYTE = (0), + PIPE_TYPE_MESSAGE = (4), + PIPE_READMODE_BYTE = (0), + PIPE_READMODE_MESSAGE = (2), + PIPE_WAIT = (0), + PIPE_NOWAIT = (1), + PS_GEOMETRIC = (65536), + PS_COSMETIC = (0), + PS_ALTERNATE = (8), + PS_SOLID = (0), + PS_DASH = (1), + PS_DOT = (2), + PS_DASHDOT = (3), + PS_DASHDOTDOT = (4), + PS_NULL = (5), + PS_USERSTYLE = (7), + PS_INSIDEFRAME = (6), + PS_ENDCAP_ROUND = (0), + PS_ENDCAP_SQUARE = (256), + PS_ENDCAP_FLAT = (512), + PS_JOIN_BEVEL = (4096), + PS_JOIN_MITER = (8192), + PS_JOIN_ROUND = (0), + PS_STYLE_MASK = (15), + PS_ENDCAP_MASK = (3840), + PS_TYPE_MASK = (983040), + ALTERNATE = (1), + WINDING = (2), + CREATE_DEFAULT_ERROR_MODE = (67108864), + CREATE_NEW_CONSOLE = (16), + CREATE_NEW_PROCESS_GROUP = (512), + CREATE_NO_WINDOW = (0x8000000), + CREATE_SEPARATE_WOW_VDM = (2048), + CREATE_SUSPENDED = (4), + CREATE_UNICODE_ENVIRONMENT = (1024), + DEBUG_PROCESS = (1), + DEBUG_ONLY_THIS_PROCESS = (2), + DETACHED_PROCESS = (8), + HIGH_PRIORITY_CLASS = (128), + IDLE_PRIORITY_CLASS = (64), + NORMAL_PRIORITY_CLASS = (32), + REALTIME_PRIORITY_CLASS = (256), + SERVICE_ALL_ACCESS = (0xf01ff), + SERVICE_CHANGE_CONFIG = (2), + SERVICE_ENUMERATE_DEPENDENTS = (8), + SERVICE_INTERROGATE = (128), + SERVICE_PAUSE_CONTINUE = (64), + SERVICE_QUERY_CONFIG = (1), + SERVICE_QUERY_STATUS = (4), + SERVICE_START = (16), + SERVICE_STOP = (32), + SERVICE_USER_DEFINED_CONTROL = (256), + SERVICE_DELETE = (0x10000), + SERVICE_READ_CONTROL = (0x20000), + SERVICE_GENERIC_EXECUTE = (0x20000000), + SERVICE_ERROR_IGNORE = (0), + SERVICE_ERROR_NORMAL = (1), + SERVICE_ERROR_SEVERE = (2), + SERVICE_ERROR_CRITICAL = (3), + TAPE_FIXED_PARTITIONS = (0), + TAPE_INITIATOR_PARTITIONS = (0x2), + TAPE_SELECT_PARTITIONS = (0x1), + TAPE_FILEMARKS = (0x1), + TAPE_LONG_FILEMARKS = (0x3), + TAPE_SETMARKS = (0), + TAPE_SHORT_FILEMARKS = (0x2), + CW_USEDEFAULT = (0x80000000), + WS_BORDER = (0x800000), + WS_CAPTION = (0xc00000), + WS_CHILD = (0x40000000), + WS_CHILDWINDOW = (0x40000000), + WS_CLIPCHILDREN = (0x2000000), + WS_CLIPSIBLINGS = (0x4000000), + WS_DISABLED = (0x8000000), + WS_DLGFRAME = (0x400000), + WS_GROUP = (0x20000), + WS_HSCROLL = (0x100000), + WS_ICONIC = (0x20000000), + WS_MAXIMIZE = (0x1000000), + WS_MAXIMIZEBOX = (0x10000), + WS_MINIMIZE = (0x20000000), + WS_MINIMIZEBOX = (0x20000), + WS_OVERLAPPED = (0), + WS_OVERLAPPEDWINDOW = (0xcf0000), + WS_POPUP = (0x80000000), + WS_POPUPWINDOW = (0x80880000), + WS_SIZEBOX = (0x40000), + WS_SYSMENU = (0x80000), + WS_TABSTOP = (0x10000), + WS_THICKFRAME = (0x40000), + WS_TILED = (0), + WS_TILEDWINDOW = (0xcf0000), + WS_VISIBLE = (0x10000000), + WS_VSCROLL = (0x200000), + MDIS_ALLCHILDSTYLES = (0x1), + BS_3STATE = (0x5), + BS_AUTO3STATE = (0x6), + BS_AUTOCHECKBOX = (0x3), + BS_AUTORADIOBUTTON = (0x9), + BS_BITMAP = (0x80), + BS_BOTTOM = (0x800), + BS_CENTER = (0x300), + BS_CHECKBOX = (0x2), + BS_DEFPUSHBUTTON = (0x1), + BS_GROUPBOX = (0x7), + BS_ICON = (0x40), + BS_LEFT = (0x100), + BS_LEFTTEXT = (0x20), + BS_MULTILINE = (0x2000), + BS_NOTIFY = (0x4000), + BS_OWNERDRAW = (0xb), + BS_PUSHBUTTON = (0), + BS_PUSHLIKE = (0x1000), + BS_RADIOBUTTON = (0x4), + BS_RIGHT = (0x200), + BS_RIGHTBUTTON = (0x20), + BS_TEXT = (0), + BS_TOP = (0x400), + BS_USERBUTTON = (0x8), + BS_VCENTER = (0xc00), + CBS_AUTOHSCROLL = (0x40), + CBS_DISABLENOSCROLL = (0x800), + CBS_DROPDOWN = (0x2), + CBS_DROPDOWNLIST = (0x3), + CBS_HASSTRINGS = (0x200), + CBS_LOWERCASE = (0x4000), + CBS_NOINTEGRALHEIGHT = (0x400), + CBS_OEMCONVERT = (0x80), + CBS_OWNERDRAWFIXED = (0x10), + CBS_OWNERDRAWVARIABLE = (0x20), + CBS_SIMPLE = (0x1), + CBS_SORT = (0x100), + CBS_UPPERCASE = (0x2000), + ES_AUTOHSCROLL = (0x80), + ES_AUTOVSCROLL = (0x40), + ES_CENTER = (0x1), + ES_LEFT = (0), + ES_LOWERCASE = (0x10), + ES_MULTILINE = (0x4), + ES_NOHIDESEL = (0x100), + ES_NUMBER = (0x2000), + ES_OEMCONVERT = (0x400), + ES_PASSWORD = (0x20), + ES_READONLY = (0x800), + ES_RIGHT = (0x2), + ES_UPPERCASE = (0x8), + ES_WANTRETURN = (0x1000), + LBS_DISABLENOSCROLL = (0x1000), + LBS_EXTENDEDSEL = (0x800), + LBS_HASSTRINGS = (0x40), + LBS_MULTICOLUMN = (0x200), + LBS_MULTIPLESEL = (0x8), + LBS_NODATA = (0x2000), + LBS_NOINTEGRALHEIGHT = (0x100), + LBS_NOREDRAW = (0x4), + LBS_NOSEL = (0x4000), + LBS_NOTIFY = (0x1), + LBS_OWNERDRAWFIXED = (0x10), + LBS_OWNERDRAWVARIABLE = (0x20), + LBS_SORT = (0x2), + LBS_STANDARD = (0xa00003), + LBS_USETABSTOPS = (0x80), + LBS_WANTKEYBOARDINPUT = (0x400), + SBS_BOTTOMALIGN = (0x4), + SBS_HORZ = (0), + SBS_LEFTALIGN = (0x2), + SBS_RIGHTALIGN = (0x4), + SBS_SIZEBOX = (0x8), + SBS_SIZEBOXBOTTOMRIGHTALIGN = (0x4), + SBS_SIZEBOXTOPLEFTALIGN = (0x2), + SBS_SIZEGRIP = (0x10), + SBS_TOPALIGN = (0x2), + SBS_VERT = (0x1), + SS_BITMAP = (0xe), + SS_BLACKFRAME = (0x7), + SS_BLACKRECT = (0x4), + SS_CENTER = (0x1), + SS_CENTERIMAGE = (0x200), + SS_ENHMETAFILE = (0xf), + SS_ETCHEDFRAME = (0x12), + SS_ETCHEDHORZ = (0x10), + SS_ETCHEDVERT = (0x11), + SS_GRAYFRAME = (0x8), + SS_GRAYRECT = (0x5), + SS_ICON = (0x3), + SS_LEFT = (0), + SS_LEFTNOWORDWRAP = (0xc), + SS_NOPREFIX = (0x80), + SS_NOTIFY = (0x100), + SS_OWNERDRAW = (0xd), + SS_REALSIZEIMAGE = (0x800), + SS_RIGHT = (0x2), + SS_RIGHTJUST = (0x400), + SS_SIMPLE = (0xb), + SS_SUNKEN = (0x1000), + SS_USERITEM = (0xa), + SS_WHITEFRAME = (0x9), + SS_WHITERECT = (0x6), + DS_3DLOOK = (0x4), + DS_ABSALIGN = (0x1), + DS_CENTER = (0x800), + DS_CENTERMOUSE = (0x1000), + DS___FILE__HELP = (0x2000), + DS_CONTROL = (0x400), + DS_FIXEDSYS = (0x8), + DS_LOCALEDIT = (0x20), + DS_MODALFRAME = (0x80), + DS_NOFAILCREATE = (0x10), + DS_NOIDLEMSG = (0x100), + DS_SETFONT = (0x40), + DS_SETFOREGROUND = (0x200), + DS_SYSMODAL = (0x2), + WS_EX_ACCEPTFILES = (0x10), + WS_EX_APPWINDOW = (0x40000), + WS_EX_CLIENTEDGE = (0x200), + WS_EX___FILE__HELP = (0x400), + WS_EX_CONTROLPARENT = (0x10000), + WS_EX_DLGMODALFRAME = (0x1), + WS_EX_LEFT = (0), + WS_EX_LEFTSCROLLBAR = (0x4000), + WS_EX_LTRREADING = (0), + WS_EX_MDICHILD = (0x40), + WS_EX_NOPARENTNOTIFY = (0x4), + WS_EX_OVERLAPPEDWINDOW = (0x300), + WS_EX_PALETTEWINDOW = (0x188), + WS_EX_RIGHT = (0x1000), + WS_EX_RIGHTSCROLLBAR = (0), + WS_EX_RTLREADING = (0x2000), + WS_EX_STATICEDGE = (0x20000), + WS_EX_TOOLWINDOW = (0x80), + WS_EX_TOPMOST = (0x8), + WS_EX_TRANSPARENT = (0x20), + WS_EX_WINDOWEDGE = (0x100), + WINSTA_ACCESSCLIPBOARD = (0x4), + WINSTA_ACCESSGLOBALATOMS = (0x20), + WINSTA_CREATEDESKTOP = (0x8), + WINSTA_ENUMDESKTOPS = (0x1), + WINSTA_ENUMERATE = (0x100), + WINSTA_EXITWINDOWS = (0x40), + WINSTA_READATTRIBUTES = (0x2), + WINSTA_READSCREEN = (0x200), + WINSTA_WRITEATTRIBUTES = (0x10), + WH_CALLWNDPROC = (4), + WH_CALLWNDPROCRET = (12), + WH_CBT = (5), + WH_DEBUG = (9), + WH_GETMESSAGE = (3), + WH_JOURNALPLAYBACK = (1), + WH_JOURNALRECORD = (0), + WH_KEYBOARD = (2), + WH_MOUSE = (7), + WH_MSGFILTER = -((1)), + WH_SHELL = (10), + WH_SYSMSGFILTER = (6), + WH_FOREGROUNDIDLE = (11), + DDD_RAW_TARGET_PATH = (1), + DDD_REMOVE_DEFINITION = (2), + DDD_EXACT_MATCH_ON_REMOVE = (4), + DC_BINNAMES = (12), + DC_BINS = (6), + DC_COPIES = (18), + DC_DRIVER = (11), + DC_DATATYPE_PRODUCED = (21), + DC_DUPLEX = (7), + DC_EMF_COMPLIANT = (20), + DC_ENUMRESOLUTIONS = (13), + DC_EXTRA = (9), + DC_FIELDS = (1), + DC_FILEDEPENDENCIES = (14), + DC_MAXEXTENT = (5), + DC_MINEXTENT = (4), + DC_ORIENTATION = (17), + DC_PAPERNAMES = (16), + DC_PAPERS = (2), + DC_PAPERSIZE = (3), + DC_SIZE = (8), + DC_TRUETYPE = (15), + DCTT_BITMAP = (0x1), + DCTT_DOWNLOAD = (0x2), + DCTT_SUBDEV = (0x4), + DC_VERSION = (10), + DC_BINADJUST = (19), + DDL_ARCHIVE = (32), + DDL_DIRECTORY = (16), + DDL_DRIVES = (16384), + DDL_EXCLUSIVE = (32768), + DDL_HIDDEN = (2), + DDL_READONLY = (1), + DDL_READWRITE = (0), + DDL_SYSTEM = (4), + DDL_POSTMSGS = (8192), + DLL_PROCESS_ATTACH = (1), + DLL_THREAD_ATTACH = (2), + DLL_PROCESS_DETACH = (0), + DLL_THREAD_DETACH = (3), + DM_IN_BUFFER = (8), + DM_MODIFY = (8), + DM_IN_PROMPT = (4), + DM_PROMPT = (4), + DM_OUT_BUFFER = (2), + DM_COPY = (2), + DM_UPDATE = (1), + IDANI_OPEN = (1), + IDANI_CLOSE = (2), + DC_ACTIVE = (1), + DC_SMALLCAP = (2), + BDR_RAISEDINNER = (4), + BDR_SUNKENINNER = (8), + BDR_RAISEDOUTER = (1), + BDR_SUNKENOUTER = (1), + EDGE_BUMP = (9), + EDGE_ETCHED = (6), + EDGE_RAISED = (5), + EDGE_SUNKEN = (10), + BF_ADJUST = (8192), + BF_BOTTOM = (8), + BF_BOTTOMLEFT = (9), + BF_BOTTOMRIGHT = (12), + BF_DIAGONAL = (16), + BF_DIAGONAL_ENDBOTTOMLEFT = (25), + BF_DIAGONAL_ENDBOTTOMRIGHT = (28), + BF_DIAGONAL_ENDTOPLEFT = (19), + BF_DIAGONAL_ENDTOPRIGHT = (22), + BF_FLAT = (16384), + BF_LEFT = (1), + BF_MIDDLE = (2048), + BF_MONO = (32768), + BF_RECT = (15), + BF_RIGHT = (4), + BF_SOFT = (4096), + BF_TOP = (2), + BF_TOPLEFT = (3), + BF_TOPRIGHT = (6), + DFC_BUTTON = (4), + DFC_CAPTION = (1), + DFC_MENU = (2), + DFC_SCROLL = (3), + DFCS_BUTTON3STATE = (8), + DFCS_BUTTONCHECK = (0), + DFCS_BUTTONPUSH = (16), + DFCS_BUTTONRADIO = (4), + DFCS_BUTTONRADIOIMAGE = (1), + DFCS_BUTTONRADIOMASK = (2), + DFCS_CAPTIONCLOSE = (0), + DFCS_CAPTIONHELP = (4), + DFCS_CAPTIONMAX = (2), + DFCS_CAPTIONMIN = (1), + DFCS_CAPTIONRESTORE = (3), + DFCS_MENUARROW = (0), + DFCS_MENUBULLET = (2), + DFCS_MENUCHECK = (1), + DFCS_SCROLLCOMBOBOX = (5), + DFCS_SCROLLDOWN = (1), + DFCS_SCROLLLEFT = (2), + DFCS_SCROLLRIGHT = (3), + DFCS_SCROLLSIZEGRIP = (8), + DFCS_SCROLLUP = (0), + DFCS_ADJUSTRECT = (8192), + DFCS_CHECKED = (1024), + DFCS_FLAT = (16384), + DFCS_INACTIVE = (256), + DFCS_MONO = (32768), + DFCS_PUSHED = (512), + DI_COMPAT = (4), + DI_DEFAULTSIZE = (8), + DI_IMAGE = (2), + DI_MASK = (1), + DI_NORMAL = (3), + DST_BITMAP = (4), + DST_COMPLEX = (0), + DST_ICON = (3), + DST_PREFIXTEXT = (2), + DST_TEXT = (1), + DSS_NORMAL = (0), + DSS_UNION = (16), + DSS_DISABLED = (32), + DSS_MONO = (128), + SBT_NOBORDERS = (256), + SBT_OWNERDRAW = (4096), + SBT_POPOUT = (512), + SBT_RTLREADING = (1024), + DT_BOTTOM = (8), + DT_CALCRECT = (1024), + DT_CENTER = (1), + DT_EDITCONTROL = (8192), + DT_END_ELLIPSIS = (32768), + DT_PATH_ELLIPSIS = (16384), + DT_EXPANDTABS = (64), + DT_EXTERNALLEADING = (512), + DT_LEFT = (0), + DT_MODIFYSTRING = (65536), + DT_NOCLIP = (256), + DT_NOPREFIX = (2048), + DT_RIGHT = (2), + DT_RTLREADING = (131072), + DT_SINGLELINE = (32), + DT_TABSTOP = (128), + DT_TOP = (0), + DT_VCENTER = (4), + DT_WORDBREAK = (16), + DT_INTERNAL = (4096), + DUPLICATE_CLOSE_SOURCE = (1), + DUPLICATE_SAME_ACCESS = (2), + FILE_MAP_ALL_ACCESS = (0xf001f), + FILE_MAP_READ = (4), + FILE_MAP_WRITE = (2), + FILE_MAP_COPY = (1), + FILE_MAP_EXECUTE = (0x20), + MUTEX_ALL_ACCESS = (0x1f0001), + MUTEX_MODIFY_STATE = (1), + SYNCHRONIZE = (0x100000), + SEMAPHORE_ALL_ACCESS = (0x1f0003), + SEMAPHORE_MODIFY_STATE = (2), + EVENT_ALL_ACCESS = (0x1f0003), + EVENT_MODIFY_STATE = (2), + KEY_ALL_ACCESS = (0xf003f), + KEY_CREATE_LINK = (32), + KEY_CREATE_SUB_KEY = (4), + KEY_ENUMERATE_SUB_KEYS = (8), + KEY_EXECUTE = (0x20019), + KEY_NOTIFY = (16), + KEY_QUERY_VALUE = (1), + KEY_READ = (0x20019), + KEY_SET_VALUE = (2), + KEY_WRITE = (0x20006), + PROCESS_ALL_ACCESS = (0x1f0fff), + PROCESS_CREATE_PROCESS = (128), + PROCESS_CREATE_THREAD = (2), + PROCESS_DUP_HANDLE = (64), + PROCESS_QUERY_INFORMATION = (1024), + PROCESS_SET_INFORMATION = (512), + PROCESS_TERMINATE = (1), + PROCESS_VM_OPERATION = (8), + PROCESS_VM_READ = (16), + PROCESS_VM_WRITE = (32), + THREAD_ALL_ACCESS = (0x1f03ff), + THREAD_DIRECT_IMPERSONATION = (512), + THREAD_GET___FILE__ = (8), + THREAD_IMPERSONATE = (256), + THREAD_QUERY_INFORMATION = (64), + THREAD_SET___FILE__ = (16), + THREAD_SET_INFORMATION = (32), + THREAD_SET_THREAD_TOKEN = (128), + THREAD_SUSPEND_RESUME = (2), + THREAD_TERMINATE = (1), + WB_ISDELIMITER = (2), + WB_LEFT = (0), + WB_RIGHT = (1), + SB_BOTH = (3), + SB_CTL = (2), + SB_HORZ = (0), + SB_VERT = (1), + ESB_DISABLE_BOTH = (3), + ESB_DISABLE_DOWN = (2), + ESB_DISABLE_LEFT = (1), + ESB_DISABLE_LTUP = (1), + ESB_DISABLE_RIGHT = (2), + ESB_DISABLE_RTDN = (2), + ESB_DISABLE_UP = (1), + ESB_ENABLE_BOTH = (0), + SB_LINEUP = (0), + SB_LINEDOWN = (1), + SB_LINELEFT = (0), + SB_LINERIGHT = (1), + SB_PAGEUP = (2), + SB_PAGEDOWN = (3), + SB_PAGELEFT = (2), + SB_PAGERIGHT = (3), + SB_THUMBPOSITION = (4), + SB_THUMBTRACK = (5), + SB_ENDSCROLL = (8), + SB_LEFT = (6), + SB_RIGHT = (7), + SB_BOTTOM = (7), + SB_TOP = (6), + ENUM_ALL_CALENDARS = -((1)), + DATE_SHORTDATE = (1), + DATE_LONGDATE = (2), + SERVICE_ACTIVE = (1), + SERVICE_INACTIVE = (2), + DEVICE_FONTTYPE = (2), + RASTER_FONTTYPE = (1), + TRUETYPE_FONTTYPE = (4), + OBJ_BRUSH = (2), + OBJ_PEN = (1), + OBJ_PAL = (5), + OBJ_FONT = (6), + OBJ_BITMAP = (7), + OBJ_EXTPEN = (11), + OBJ_REGION = (8), + OBJ_DC = (3), + OBJ_MEMDC = (10), + OBJ_METAFILE = (9), + OBJ_METADC = (4), + OBJ_ENHMETAFILE = (13), + OBJ_ENHMETADC = (12), + SERVICE_WIN32 = (48), + SERVICE_DRIVER = (11), + CP_INSTALLED = (1), + CP_SUPPORTED = (2), + LCID_INSTALLED = (1), + LCID_SUPPORTED = (2), + TAPE_ERASE_LONG = (0x1), + TAPE_ERASE_SHORT = (0), + SP_ERROR = -((1)), + SP_OUTOFDISK = -((4)), + SP_OUTOFMEMORY = -((5)), + SP_USERABORT = -((3)), + PHYSICALWIDTH = (110), + PHYSICALHEIGHT = (111), + PHYSICALOFFSETX = (112), + PHYSICALOFFSETY = (113), + SCALINGFACTORX = (114), + SCALINGFACTORY = (115), + QUERYESCSUPPORT = (8), + cABORTDOC = (2), + cENDDOC = (11), + GETPHYSPAGESIZE = (12), + GETPRINTINGOFFSET = (13), + GETSCALINGFACTOR = (14), + NEWFRAME = (1), + NEXTBAND = (3), + PASSTHROUGH = (19), + cSETABORTPROC = (9), + cSTARTDOC = (10), + CLRDTR = (6), + CLRRTS = (4), + SETDTR = (5), + SETRTS = (3), + SETXOFF = (1), + SETXON = (2), + SETBREAK = (8), + CLRBREAK = (9), + EWX_FORCE = (4), + EWX_LOGOFF = (0), + EWX_POWEROFF = (8), + EWX_REBOOT = (2), + EWX_SHUTDOWN = (1), + FLOODFILLBORDER = (0), + FLOODFILLSURFACE = (1), + ETO_CLIPPED = (4), + ETO_GLYPH_INDEX = (16), + ETO_OPAQUE = (2), + ETO_RTLREADING = (128), + FOREGROUND_BLUE = (1), + FOREGROUND_GREEN = (2), + FOREGROUND_RED = (4), + FOREGROUND_INTENSITY = (8), + BACKGROUND_BLUE = (16), + BACKGROUND_GREEN = (32), + BACKGROUND_RED = (64), + BACKGROUND_INTENSITY = (128), + FILE_NOTIFY_CHANGE_FILE_NAME = (1), + FILE_NOTIFY_CHANGE_DIR_NAME = (2), + FILE_NOTIFY_CHANGE_ATTRIBUTES = (4), + FILE_NOTIFY_CHANGE_SIZE = (8), + FILE_NOTIFY_CHANGE_LAST_WRITE = (16), + FILE_NOTIFY_CHANGE_SECURITY = (256), + MAP_FOLDCZONE = (16), + MAP_FOLDDIGITS = (128), + MAP_PRECOMPOSED = (32), + MAP_COMPOSITE = (64), + HC_ACTION = (0), + FORMAT_MESSAGE_ALLOCATE_BUFFER = (256), + FORMAT_MESSAGE_IGNORE_INSERTS = (512), + FORMAT_MESSAGE_FROM_STRING = (1024), + FORMAT_MESSAGE_FROM_HMODULE = (2048), + FORMAT_MESSAGE_FROM_SYSTEM = (4096), + FORMAT_MESSAGE_ARGUMENT_ARRAY = (8192), + FORMAT_MESSAGE_MAX_WIDTH_MASK = (255), + GDICOMMENT_WINDOWS_METAFILE = -((2147483647)), + GDICOMMENT_BEGINGROUP = (2), + GDICOMMENT_ENDGROUP = (3), + GDICOMMENT_MULTIFORMATS = (1073741828), + GDICOMMENT_IDENTIFIER = (1128875079), + CTRL_C_EVENT = (0), + CTRL_BREAK_EVENT = (1), + CTRL_CLOSE_EVENT = (2), + CTRL_LOGOFF_EVENT = (5), + CTRL_SHUTDOWN_EVENT = (6), + AD_COUNTERCLOCKWISE = (1), + AD_CLOCKWISE = (2), + SCS_32BIT_BINARY = (0), + SCS_DOS_BINARY = (1), + SCS_OS216_BINARY = (5), + SCS_PIF_BINARY = (3), + SCS_POSIX_BINARY = (4), + SCS_WOW_BINARY = (2), + DCB_DISABLE = (8), + DCB_ENABLE = (4), + DCB_RESET = (1), + DCB_SET = (3), + DCB_ACCUMULATE = (2), + GCP_DBCS = (1), + GCP_ERROR = (0x8000), + GCP_CLASSIN = (0x80000), + GCP_DIACRITIC = (256), + GCP_DISPLAYZWG = (0x400000), + GCP_GLYPHSHAPE = (16), + GCP_JUSTIFY = (0x10000), + GCP_JUSTIFYIN = (0x200000), + GCP_KASHIDA = (1024), + GCP_LIGATE = (32), + GCP_MAXEXTENT = (0x100000), + GCP_NEUTRALOVERRIDE = (0x2000000), + GCP_NUMERICOVERRIDE = (0x1000000), + GCP_NUMERICSLATIN = (0x4000000), + GCP_NUMERICSLOCAL = (0x8000000), + GCP_REORDER = (2), + GCP_SYMSWAPOFF = (0x800000), + GCP_USEKERNING = (8), + FLI_GLYPHS = (0x40000), + FLI_MASK = (0x103b), + GCW_ATOM = -((32)), + GCL_CBCLSEXTRA = -((20)), + GCL_CBWNDEXTRA = -((18)), + GCL_HBRBACKGROUND = -((10)), + GCL_HCURSOR = -((12)), + GCL_HICON = -((14)), + GCL_HICONSM = -((34)), + GCL_HMODULE = -((16)), + GCL_MENUNAME = -((8)), + GCL_STYLE = -((26)), + GCL_WNDPROC = -((24)), + CF_BITMAP = (2), + CF_DIB = (8), + CF_PALETTE = (9), + CF_ENHMETAFILE = (14), + CF_METAFILEPICT = (3), + CF_OEMTEXT = (7), + CF_TEXT = (1), + CF_UNICODETEXT = (13), + CF_DIF = (5), + CF_DSPBITMAP = (130), + CF_DSPENHMETAFILE = (142), + CF_DSPMETAFILEPICT = (131), + CF_DSPTEXT = (129), + CF_GDIOBJFIRST = (768), + CF_GDIOBJLAST = (1023), + CF_HDROP = (15), + CF_LOCALE = (16), + CF_OWNERDISPLAY = (128), + CF_PENDATA = (10), + CF_PRIVATEFIRST = (512), + CF_PRIVATELAST = (767), + CF_RIFF = (11), + CF_SYLK = (4), + CF_WAVE = (12), + CF_TIFF = (6), + EV_BREAK = (64), + EV_CTS = (8), + EV_DSR = (16), + EV_ERR = (128), + EV_EVENT1 = (2048), + EV_EVENT2 = (4096), + EV_PERR = (512), + EV_RING = (256), + EV_RLSD = (32), + EV_RX80FULL = (1024), + EV_RXCHAR = (1), + EV_RXFLAG = (2), + EV_TXEMPTY = (4), + MS_CTS_ON = (0x10), + MS_DSR_ON = (0x20), + MS_RING_ON = (0x40), + MS_RLSD_ON = (0x80), + MAX_COMPUTERNAME_LENGTH = (15), + ENABLE_LINE_INPUT = (2), + ENABLE_ECHO_INPUT = (4), + ENABLE_PROCESSED_INPUT = (1), + ENABLE_WINDOW_INPUT = (8), + ENABLE_MOUSE_INPUT = (16), + ENABLE_PROCESSED_OUTPUT = (1), + ENABLE_WRAP_AT_EOL_OUTPUT = (2), + CP_ACP = (0), + CP_MACCP = (2), + CP_OEMCP = (1), + CP_UTF8 = 65001, + DATE_USE_ALT_CALENDAR = (4), + DCX_WINDOW = (0x1), + DCX_CACHE = (0x2), + DCX_PARENTCLIP = (0x20), + DCX_CLIPSIBLINGS = (0x10), + DCX_CLIPCHILDREN = (0x8), + DCX_NORESETATTRS = (0x4), + DCX_LOCKWINDOWUPDATE = (0x400), + DCX_EXCLUDERGN = (0x40), + DCX_INTERSECTRGN = (0x80), + DCX_VALIDATE = (0x200000), + DRIVERVERSION = (0), + TECHNOLOGY = (2), + DT_PLOTTER = (0), + DT_RASDISPLAY = (1), + DT_RASPRINTER = (2), + DT_RASCAMERA = (3), + DT_CHARSTREAM = (4), + DT_METAFILE = (5), + DT_DISPFILE = (6), + HORZSIZE = (4), + VERTSIZE = (6), + HORZRES = (8), + VERTRES = (10), + LOGPIXELSX = (88), + LOGPIXELSY = (90), + BITSPIXEL = (12), + PLANES = (14), + NUMBRUSHES = (16), + NUMPENS = (18), + NUMFONTS = (22), + NUMCOLORS = (24), + ASPECTX = (40), + ASPECTY = (42), + ASPECTXY = (44), + PDEVICESIZE = (26), + CLIPCAPS = (36), + SIZEPALETTE = (104), + NUMRESERVED = (106), + COLORRES = (108), + VREFRESH = (116), + DESKTOPHORZRES = (118), + DESKTOPVERTRES = (117), + BLTALIGNMENT = (119), + RASTERCAPS = (38), + RC_BANDING = (2), + RC_BITBLT = (1), + RC_BITMAP64 = (8), + RC_DI_BITMAP = (128), + RC_DIBTODEV = (512), + RC_FLOODFILL = (4096), + RC_GDI20_OUTPUT = (16), + RC_PALETTE = (256), + RC_SCALING = (4), + RC_STRETCHBLT = (2048), + RC_STRETCHDIB = (8192), + CURVECAPS = (28), + CC_NONE = (0), + CC_CIRCLES = (1), + CC_PIE = (2), + CC_CHORD = (4), + CC_ELLIPSES = (8), + CC_WIDE = (16), + CC_STYLED = (32), + CC_WIDESTYLED = (64), + CC_INTERIORS = (128), + CC_ROUNDRECT = (256), + LINECAPS = (30), + LC_NONE = (0), + LC_POLYLINE = (2), + LC_MARKER = (4), + LC_POLYMARKER = (8), + LC_WIDE = (16), + LC_STYLED = (32), + LC_WIDESTYLED = (64), + LC_INTERIORS = (128), + POLYGONALCAPS = (32), + PC_NONE = (0), + PC_POLYGON = (1), + PC_RECTANGLE = (2), + PC_WINDPOLYGON = (4), + PC_SCANLINE = (8), + PC_WIDE = (16), + PC_STYLED = (32), + PC_WIDESTYLED = (64), + PC_INTERIORS = (128), + TEXTCAPS = (34), + TC_OP_CHARACTER = (1), + TC_OP_STROKE = (2), + TC_CP_STROKE = (4), + TC_CR_90 = (8), + TC_CR_ANY = (16), + TC_SF_X_YINDEP = (32), + TC_SA_DOUBLE = (64), + TC_SA_INTEGER = (128), + TC_SA_CONTIN = (256), + TC_EA_DOUBLE = (512), + TC_IA_ABLE = (1024), + TC_UA_ABLE = (2048), + TC_SO_ABLE = (4096), + TC_RA_ABLE = (8192), + TC_VA_ABLE = (16384), + TC_RESERVED = (32768), + TC_SCROLLBLT = (65536), + PC_PATHS = (512), + DRIVE_REMOVABLE = (2), + DRIVE_FIXED = (3), + DRIVE_REMOTE = (4), + DRIVE_CDROM = (5), + DRIVE_RAMDISK = (6), + DRIVE_UNKNOWN = (0), + DRIVE_NO_ROOT_DIR = (1), + EXCEPTION_ACCESS_VIOLATION = (0xc0000005), + EXCEPTION_BREAKPOINT = (0x80000003), + EXCEPTION_DATATYPE_MISALIGNMENT = (0x80000002), + EXCEPTION_SINGLE_STEP = (0x80000004), + EXCEPTION_ARRAY_BOUNDS_EXCEEDED = (0xc000008c), + EXCEPTION_FLT_DENORMAL_OPERAND = (0xc000008d), + EXCEPTION_FLT_DIVIDE_BY_ZERO = (0xc000008e), + EXCEPTION_FLT_INEXACT_RESULT = (0xc000008f), + EXCEPTION_FLT_INVALID_OPERATION = (0xc0000090), + EXCEPTION_FLT_OVERFLOW = (0xc0000091), + EXCEPTION_FLT_STACK_CHECK = (0xc0000092), + EXCEPTION_FLT_UNDERFLOW = (0xc0000093), + EXCEPTION_INT_DIVIDE_BY_ZERO = (0xc0000094), + EXCEPTION_INT_OVERFLOW = (0xc0000095), + EXCEPTION_INVALID_HANDLE = (0xc0000008), + EXCEPTION_PRIV_INSTRUCTION = (0xc0000096), + EXCEPTION_NONCONTINUABLE_EXCEPTION = (0xc0000025), + EXCEPTION_NONCONTINUABLE = (0x1), + EXCEPTION_STACK_OVERFLOW = (0xc00000fd), + EXCEPTION_INVALID_DISPOSITION = (0xc0000026), + FILE_TYPE_UNKNOWN = (0), + FILE_TYPE_DISK = (1), + FILE_TYPE_CHAR = (2), + FILE_TYPE_PIPE = (3), + GGO_BITMAP = (1), + GGO_NATIVE = (2), + GGO_METRICS = (0), + GGO_GRAY2_BITMAP = (4), + GGO_GRAY4_BITMAP = (5), + GGO_GRAY8_BITMAP = (6), + GDI_ERROR = (0xffffffff), + GM_COMPATIBLE = (1), + GM_ADVANCED = (2), + HANDLE_FLAG_INHERIT = (1), + HANDLE_FLAG_PROTECT_FROM_CLOSE = (2), +} +char* RT_ACCELERATOR = cast(char*) ((9)); +char* RT_BITMAP = cast(char*) ((2)); +char* RT_DIALOG = cast(char*) ((5)); +char* RT_FONT = cast(char*) ((8)); +char* RT_FONTDIR = cast(char*) ((7)); +char* RT_MENU = cast(char*) ((4)); +char* RT_RCDATA = cast(char*) ((10)); +char* RT_STRING = cast(char*) ((6)); +char* RT_MESSAGETABLE = cast(char*) ((11)); +char* RT_CURSOR = cast(char*) ((1)); +char* RT_GROUP_CURSOR = cast(char*) ((12)); +char* RT_ICON = cast(char*) ((3)); +char* RT_GROUP_ICON = cast(char*) ((13)); +char* RT_VERSION = cast(char*) ((16)); +char* IDC_ARROW = cast(char*) ((32512)); +char* IDC_IBEAM = cast(char*) ((32513)); +char* IDC_WAIT = cast(char*) ((32514)); +char* IDC_CROSS = cast(char*) ((32515)); +char* IDC_UPARROW = cast(char*) ((32516)); +char* IDC_SIZENWSE = cast(char*) ((32642)); +char* IDC_SIZENESW = cast(char*) ((32643)); +char* IDC_SIZEWE = cast(char*) ((32644)); +char* IDC_SIZENS = cast(char*) ((32645)); +char* IDC_SIZEALL = cast(char*) ((32646)); +char* IDC_NO = cast(char*) ((32648)); +char* IDC_APPSTARTING = cast(char*) ((32650)); +char* IDC_HELP = cast(char*) ((32651)); +char* IDI_APPLICATION = cast(char*) ((32512)); +char* IDI_HAND = cast(char*) ((32513)); +char* IDI_QUESTION = cast(char*) ((32514)); +char* IDI_EXCLAMATION = cast(char*) ((32515)); +char* IDI_ASTERISK = cast(char*) ((32516)); +char* IDI_WINLOGO = cast(char*) ((32517)); +char* IDC_SIZE = cast(char*) ((32640)); +char* IDC_ICON = cast(char*) ((32641)); +enum : DWORD { + MM_ANISOTROPIC = (8), + MM_HIENGLISH = (5), + MM_HIMETRIC = (3), + MM_ISOTROPIC = (7), + MM_LOENGLISH = (4), + MM_LOMETRIC = (2), + MM_TEXT = (1), + MM_TWIPS = (6), + GMDI_GOINTOPOPUPS = (0x2), + GMDI_USEDISABLED = (0x1), + PM_NOREMOVE = (0), + PM_REMOVE = (1), + PM_NOYIELD = (2), + PIPE_CLIENT_END = (0), + PIPE_SERVER_END = (1), + GW_HWNDNEXT = (2), + GW_HWNDPREV = (3), + GW_CHILD = (5), + GW_HWNDFIRST = (0), + GW_HWNDLAST = (1), + GW_OWNER = (4), + PT_MOVETO = (6), + PT_LINETO = (2), + PT_BEZIERTO = (4), + PT_CLOSEFIGURE = (1), + SHUTDOWN_NORETRY = (1), + QS_ALLEVENTS = (191), + QS_ALLINPUT = (255), + QS_HOTKEY = (128), + QS_INPUT = (7), + QS_KEY = (1), + QS_MOUSE = (6), + QS_MOUSEBUTTON = (4), + QS_MOUSEMOVE = (2), + QS_PAINT = (32), + QS_POSTMESSAGE = (8), + QS_SENDMESSAGE = (64), + QS_TIMER = (16), + SIF_ALL = (23), + SIF_PAGE = (2), + SIF_POS = (4), + SIF_RANGE = (1), + SIF_DISABLENOSCROLL = (8), + STD_INPUT_HANDLE = -(10), + STD_OUTPUT_HANDLE = -(11), + STD_ERROR_HANDLE = -(12), + BLACK_BRUSH = (4), + DKGRAY_BRUSH = (3), + GRAY_BRUSH = (2), + HOLLOW_BRUSH = (5), + LTGRAY_BRUSH = (1), + NULL_BRUSH = (5), + WHITE_BRUSH = (0), + BLACK_PEN = (7), + NULL_PEN = (8), + WHITE_PEN = (6), + ANSI_FIXED_FONT = (11), + ANSI_VAR_FONT = (12), + DEVICE_DEFAULT_FONT = (14), + DEFAULT_GUI_FONT = (17), + OEM_FIXED_FONT = (10), + SYSTEM_FONT = (13), + SYSTEM_FIXED_FONT = (16), + DEFAULT_PALETTE = (15), + CT_CTYPE1 = (1), + CT_CTYPE2 = (2), + CT_CTYPE3 = (4), + C1_UPPER = (1), + C1_LOWER = (2), + C1_DIGIT = (4), + C1_SPACE = (8), + C1_PUNCT = (16), + C1_CNTRL = (32), + C1_BLANK = (64), + C1_XDIGIT = (128), + C1_ALPHA = (256), + C2_LEFTTORIGHT = (1), + C2_RIGHTTOLEFT = (2), + C2_EUROPENUMBER = (3), + C2_EUROPESEPARATOR = (4), + C2_EUROPETERMINATOR = (5), + C2_ARABICNUMBER = (6), + C2_COMMONSEPARATOR = (7), + C2_BLOCKSEPARATOR = (8), + C2_SEGMENTSEPARATOR = (9), + C2_WHITESPACE = (10), + C2_OTHERNEUTRAL = (11), + C2_NOTAPPLICABLE = (0), + C3_NONSPACING = (1), + C3_DIACRITIC = (2), + C3_VOWELMARK = (4), + C3_SYMBOL = (8), + C3_KATAKANA = (16), + C3_HIRAGANA = (32), + C3_HALFWIDTH = (64), + C3_FULLWIDTH = (128), + C3_IDEOGRAPH = (256), + C3_KASHIDA = (512), + C3_ALPHA = (32768), + C3_NOTAPPLICABLE = (0), + COLOR_3DDKSHADOW = (21), + COLOR_3DFACE = (15), + COLOR_3DHILIGHT = (20), + COLOR_3DLIGHT = (22), + COLOR_BTNHILIGHT = (20), + COLOR_3DSHADOW = (16), + COLOR_ACTIVEBORDER = (10), + COLOR_ACTIVECAPTION = (2), + COLOR_APPWORKSPACE = (12), + COLOR_BACKGROUND = (1), + COLOR_DESKTOP = (1), + COLOR_BTNFACE = (15), + COLOR_BTNHIGHLIGHT = (20), + COLOR_BTNSHADOW = (16), + COLOR_BTNTEXT = (18), + COLOR_CAPTIONTEXT = (9), + COLOR_GRAYTEXT = (17), + COLOR_HIGHLIGHT = (13), + COLOR_HIGHLIGHTTEXT = (14), + COLOR_INACTIVEBORDER = (11), + COLOR_INACTIVECAPTION = (3), + COLOR_INACTIVECAPTIONTEXT = (19), + COLOR_INFOBK = (24), + COLOR_INFOTEXT = (23), + COLOR_MENU = (4), + COLOR_MENUTEXT = (7), + COLOR_SCROLLBAR = (0), + COLOR_WINDOW = (5), + COLOR_WINDOWFRAME = (6), + COLOR_WINDOWTEXT = (8), + SM_CYMIN = (29), + SM_CXMIN = (28), + SM_ARRANGE = (56), + SM_CLEANBOOT = (67), + SM_CMETRICS = (76), + SM_CMOUSEBUTTONS = (43), + SM_CXBORDER = (5), + SM_CYBORDER = (6), + SM_CXCURSOR = (13), + SM_CYCURSOR = (14), + SM_CXDLGFRAME = (7), + SM_CYDLGFRAME = (8), + SM_CXDOUBLECLK = (36), + SM_CYDOUBLECLK = (37), + SM_CXDRAG = (68), + SM_CYDRAG = (69), + SM_CXEDGE = (45), + SM_CYEDGE = (46), + SM_CXFIXEDFRAME = (7), + SM_CYFIXEDFRAME = (8), + SM_CXFRAME = (32), + SM_CYFRAME = (33), + SM_CXFULLSCREEN = (16), + SM_CYFULLSCREEN = (17), + SM_CXHSCROLL = (21), + SM_CYHSCROLL = (3), + SM_CXHTHUMB = (10), + SM_CXICON = (11), + SM_CYICON = (12), + SM_CXICONSPACING = (38), + SM_CYICONSPACING = (39), + SM_CXMAXIMIZED = (61), + SM_CYMAXIMIZED = (62), + SM_CXMAXTRACK = (59), + SM_CYMAXTRACK = (60), + SM_CXMENUCHECK = (71), + SM_CYMENUCHECK = (72), + SM_CXMENUSIZE = (54), + SM_CYMENUSIZE = (55), + SM_CXMINIMIZED = (57), + SM_CYMINIMIZED = (58), + SM_CXMINSPACING = (47), + SM_CYMINSPACING = (48), + SM_CXMINTRACK = (34), + SM_CYMINTRACK = (35), + SM_CXSCREEN = (0), + SM_CYSCREEN = (1), + SM_CXSIZE = (30), + SM_CYSIZE = (31), + SM_CXSIZEFRAME = (32), + SM_CYSIZEFRAME = (33), + SM_CXSMICON = (49), + SM_CYSMICON = (50), + SM_CXSMSIZE = (52), + SM_CYSMSIZE = (53), + SM_CXVSCROLL = (2), + SM_CYVSCROLL = (20), + SM_CYVTHUMB = (9), + SM_CYCAPTION = (4), + SM_CYKANJIWINDOW = (18), + SM_CYMENU = (15), + SM_CYSMCAPTION = (51), + SM_DBCSENABLED = (42), + SM_DEBUG = (22), + SM_MENUDROPALIGNMENT = (40), + SM_MIDEASTENABLED = (74), + SM_MOUSEPRESENT = (19), + SM_MOUSEWHEELPRESENT = (75), + SM_NETWORK = (63), + SM_PENWINDOWS = (41), + SM_SECURE = (44), + SM_SHOWSOUNDS = (70), + SM_SLOWMACHINE = (73), + SM_SWAPBUTTON = (23), + ARW_BOTTOMLEFT = (0), + ARW_BOTTOMRIGHT = (0x1), + ARW_HIDE = (0x8), + ARW_TOPLEFT = (0x2), + ARW_TOPRIGHT = (0x3), + ARW_DOWN = (0x4), + ARW_LEFT = (0), + ARW_RIGHT = (0), + ARW_UP = (0x4), + SYSPAL_NOSTATIC = (2), + SYSPAL_STATIC = (1), + SYSPAL_ERROR = (0), + GET_TAPE_MEDIA_INFORMATION = (0), + GET_TAPE_DRIVE_INFORMATION = (1), + SET_TAPE_MEDIA_INFORMATION = (0), + SET_TAPE_DRIVE_INFORMATION = (1), + TAPE_ABSOLUTE_POSITION = (0), + TAPE_LOGICAL_POSITION = (0x1), + TA_BASELINE = (24), + TA_BOTTOM = (8), + TA_TOP = (0), + TA_CENTER = (6), + TA_LEFT = (0), + TA_RIGHT = (2), + TA_RTLREADING = (256), + TA_NOUPDATECP = (0), + TA_UPDATECP = (1), + VTA_BASELINE = (24), + VTA_CENTER = (6), + THREAD_PRIORITY_ABOVE_NORMAL = (1), + THREAD_PRIORITY_BELOW_NORMAL = -((1)), + THREAD_PRIORITY_HIGHEST = (2), + THREAD_PRIORITY_IDLE = -((15)), + THREAD_PRIORITY_LOWEST = -((2)), + THREAD_PRIORITY_NORMAL = (0), + THREAD_PRIORITY_TIME_CRITICAL = (15), + THREAD_PRIORITY_ERROR_RETURN = (2147483647), + TLS_MINIMUM_AVAILABLE = (64), + TIME_NOMINUTESORSECONDS = (1), + TIME_NOSECONDS = (2), + TIME_NOTIMEMARKER = (4), + TIME_FORCE24HOURFORMAT = (8), + TIME_ZONE_ID_INVALID = -(1), + TIME_ZONE_ID_UNKNOWN = (0), + TIME_ZONE_ID_STANDARD = (1), + TIME_ZONE_ID_DAYLIGHT = (2), + UOI_FLAGS = (1), + UOI_NAME = (2), + UOI_TYPE = (3), + FS_CASE_IS_PRESERVED = (2), + FS_CASE_SENSITIVE = (1), + FS_UNICODE_STORED_ON_DISK = (4), + FS_PERSISTENT_ACLS = (8), + FS_FILE_COMPRESSION = (16), + FS_VOL_IS_COMPRESSED = (32768), + GWL_EXSTYLE = -((20)), + GWL_STYLE = -((16)), + GWL_WNDPROC = -((4)), + GWL_HINSTANCE = -((6)), + GWL_HWNDPARENT = -((8)), + GWL_ID = -((12)), + GWL_USERDATA = -((21)), + DWL_DLGPROC = (4), + DWL_MSGRESULT = (0), + DWL_USER = (8), + GMEM_FIXED = (0), + GMEM_MOVEABLE = (2), + GPTR = (64), + GHND = (66), + GMEM_DDESHARE = (8192), + GMEM_DISCARDABLE = (256), + GMEM_LOWER = (4096), + GMEM_NOCOMPACT = (16), + GMEM_NODISCARD = (32), + GMEM_NOT_BANKED = (4096), + GMEM_NOTIFY = (16384), + GMEM_SHARE = (8192), + GMEM_ZEROINIT = (64), + GMEM_DISCARDED = (16384), + GMEM_INVALID_HANDLE = (32768), + GMEM_LOCKCOUNT = (255), + HEAP_GENERATE_EXCEPTIONS = (4), + HEAP_NO_SERIALIZE = (1), + HEAP_ZERO_MEMORY = (8), + STATUS_NO_MEMORY = (0xc0000017), + STATUS_ACCESS_VIOLATION = (0xc0000005), + HEAP_REALLOC_IN_PLACE_ONLY = (16), + ILC_COLOR = (0), + ILC_COLOR4 = (4), + ILC_COLOR8 = (8), + ILC_COLOR16 = (16), + ILC_COLOR24 = (24), + ILC_COLOR32 = (32), + ILC_COLORDDB = (254), + ILC_MASK = (1), + ILC_PALETTE = (2048), + ILD_BLEND25 = (2), + ILD_BLEND50 = (4), + ILD_SELECTED = (4), + ILD_BLEND = (4), + ILD_FOCUS = (2), + ILD_MASK = (16), + ILD_NORMAL = (0), + ILD_TRANSPARENT = (1), + CLR_NONE = (0xffffffff), + CLR_DEFAULT = (0xff000000), + CLR_INVALID = (0xFFFFFFFF), + LR_LOADFROMFILE = (16), + LR_LOADMAP3DCOLORS = (4096), + LR_LOADTRANSPARENT = (32), + IME_CONFIG_GENERAL = (1), + IME_CONFIG_REGISTERWORD = (2), + IME_CONFIG_SELECTDICTIONARY = (3), + GCL_CONVERSION = (1), + GCL_REVERSECONVERSION = (2), + GCL_REVERSE_LENGTH = (3), + GGL_LEVEL = (1), + GGL_INDEX = (2), + GGL_STRING = (3), + GGL_PRIVATE = (4), + GL_LEVEL_ERROR = (2), + GL_LEVEL_FATAL = (1), + GL_LEVEL_INFORMATION = (4), + GL_LEVEL_NOGUIDELINE = (0), + GL_LEVEL_WARNING = (3), + GL_ID_CANNOTSAVE = (17), + GL_ID_NOCONVERT = (32), + GL_ID_NODICTIONARY = (16), + GL_ID_NOMODULE = (1), + GL_ID_READINGCONFLICT = (35), + GL_ID_TOOMANYSTROKE = (34), + GL_ID_TYPINGERROR = (33), + GL_ID_UNKNOWN = (0), + GL_ID_INPUTREADING = (36), + GL_ID_INPUTRADICAL = (37), + GL_ID_INPUTCODE = (38), + GL_ID_CHOOSECANDIDATE = (40), + GL_ID_REVERSECONVERSION = (41), + IGP_PROPERTY = (4), + IGP_CONVERSION = (8), + IGP_SENTENCE = (12), + IGP_UI = (16), + IGP_SETCOMPSTR = (20), + IGP_SELECT = (24), + IME_PROP_AT_CARET = (65536), + IME_PROP_SPECIAL_UI = (131072), + IME_PROP_CANDLIST_START_FROM_1 = (262144), + IME_PROP_UNICODE = (524288), + UI_CAP_2700 = (1), + UI_CAP_ROT90 = (2), + UI_CAP_ROTANY = (4), + SCS_CAP_COMPSTR = (1), + SCS_CAP_MAKEREAD = (2), + SELECT_CAP_CONVERSION = (1), + SELECT_CAP_SENTENCE = (2), + NI_CHANGECANDIDATELIST = (19), + NI_CLOSECANDIDATE = (17), + NI_COMPOSITIONSTR = (21), + NI_OPENCANDIDATE = (16), + NI_SELECTCANDIDATESTR = (18), + NI_SETCANDIDATE_PAGESIZE = (23), + NI_SETCANDIDATE_PAGESTART = (22), + CPS_CANCEL = (4), + CPS_COMPLETE = (1), + CPS_CONVERT = (2), + CPS_REVERT = (3), + SCS_SETSTR = (9), + SCS_CHANGEATTR = (18), + SCS_CHANGECLAUSE = (36), + IME_REGWORD_STYLE_EUDC = (1), + IME_REGWORD_STYLE_USER_FIRST = (0x80000000), + IME_REGWORD_STYLE_USER_LAST = -((1)), + SECURITY_DESCRIPTOR_REVISION = (1), + IS_TEXT_UNICODE_ASCII16 = (1), + IS_TEXT_UNICODE_REVERSE_ASCII16 = (16), + IS_TEXT_UNICODE_STATISTICS = (2), + IS_TEXT_UNICODE_REVERSE_STATISTICS = (32), + IS_TEXT_UNICODE_CONTROLS = (4), + IS_TEXT_UNICODE_REVERSE_CONTROLS = (64), + IS_TEXT_UNICODE_SIGNATURE = (8), + IS_TEXT_UNICODE_REVERSE_SIGNATURE = (128), + IS_TEXT_UNICODE_ILLEGAL_CHARS = (256), + IS_TEXT_UNICODE_ODD_LENGTH = (512), + IS_TEXT_UNICODE_NULL_BYTES = (4096), + IS_TEXT_UNICODE_UNICODE_MASK = (15), + IS_TEXT_UNICODE_REVERSE_MASK = (240), + IS_TEXT_UNICODE_NOT_UNICODE_MASK = (3840), + IS_TEXT_UNICODE_NOT_ASCII_MASK = (61440), + HC_GETNEXT = (1), + HC_SKIP = (2), + HC_SYSMODALOFF = (5), + HC_SYSMODALON = (4), + HC_NOREMOVE = (3), + KEYEVENTF_EXTENDEDKEY = (1), + KEYEVENTF_KEYUP = (2), + OBM_BTNCORNERS = (32758), + OBM_BTSIZE = (32761), + OBM_CHECK = (32760), + OBM_CHECKBOXES = (32759), + OBM_CLOSE = (32754), + OBM_COMBO = (32738), + OBM_DNARROW = (32752), + OBM_DNARROWD = (32742), + OBM_DNARROWI = (32736), + OBM_LFARROW = (32750), + OBM_LFARROWI = (32734), + OBM_LFARROWD = (32740), + OBM_MNARROW = (32739), + OBM_OLD_CLOSE = (32767), + OBM_OLD_DNARROW = (32764), + OBM_OLD_LFARROW = (32762), + OBM_OLD_REDUCE = (32757), + OBM_OLD_RESTORE = (32755), + OBM_OLD_RGARROW = (32763), + OBM_OLD_UPARROW = (32765), + OBM_OLD_ZOOM = (32756), + OBM_REDUCE = (32749), + OBM_REDUCED = (32746), + OBM_RESTORE = (32747), + OBM_RESTORED = (32744), + OBM_RGARROW = (32751), + OBM_RGARROWD = (32741), + OBM_RGARROWI = (32735), + OBM_SIZE = (32766), + OBM_UPARROW = (32753), + OBM_UPARROWD = (32743), + OBM_UPARROWI = (32737), + OBM_ZOOM = (32748), + OBM_ZOOMD = (32745), + DONT_RESOLVE_DLL_REFERENCES = (1), + LOAD_LIBRARY_AS_DATAFILE = (2), + LOAD_WITH_ALTERED_SEARCH_PATH = (8), + LPTR = (64), + LHND = (66), + NONZEROLHND = (2), + NONZEROLPTR = (0), + LMEM_NONZEROLHND = (2), + LMEM_NONZEROLPTR = (0), + LMEM_FIXED = (0), + LMEM_MOVEABLE = (2), + LMEM_NOCOMPACT = (16), + LMEM_NODISCARD = (32), + LMEM_ZEROINIT = (64), + LMEM_MODIFY = (128), + LMEM_LOCKCOUNT = (255), + LMEM_DISCARDABLE = (3840), + LMEM_DISCARDED = (16384), + LMEM_INVALID_HANDLE = (32768), + LOCKFILE_FAIL_IMMEDIATELY = (1), + LOCKFILE_EXCLUSIVE_LOCK = (2), + MB_USERICON = (0x80), + MB_ICONASTERISK = (0x40), + MB_ICONEXCLAMATION = (0x30), + MB_ICONWARNING = (0x30), + MB_ICONERROR = (0x10), + MB_ICONHAND = (0x10), + MB_ICONQUESTION = (0x20), + MB_OK = (0), + MB_ABORTRETRYIGNORE = (0x2), + MB_APPLMODAL = (0), + MB_DEFAULT_DESKTOP_ONLY = (0x20000), + MB_HELP = (0x4000), + MB_RIGHT = (0x80000), + MB_RTLREADING = (0x100000), + MB_TOPMOST = (0x40000), + MB_DEFBUTTON1 = (0), + MB_DEFBUTTON2 = (0x100), + MB_DEFBUTTON3 = (0x200), + MB_DEFBUTTON4 = (0x300), + MB_ICONINFORMATION = (0x40), + MB_ICONSTOP = (0x10), + MB_OKCANCEL = (0x1), + MB_RETRYCANCEL = (0x5), + MB_SERVICE_NOTIFICATION = (0x40000), + MB_SETFOREGROUND = (0x10000), + MB_SYSTEMMODAL = (0x1000), + MB_TASKMODAL = (0x2000), + MB_YESNO = (0x4), + MB_YESNOCANCEL = (0x3), + IDABORT = (3), + IDCANCEL = (2), + IDCLOSE = (8), + IDHELP = (9), + IDIGNORE = (5), + IDNO = (7), + IDOK = (1), + IDRETRY = (4), + IDYES = (6), + MSGF_DIALOGBOX = (0), + MSGF_MENU = (2), + MSGF_NEXTWINDOW = (6), + MSGF_SCROLLBAR = (5), + MSGF_MAINLOOP = (8), + MSGF_USER = (4096), + MWT_IDENTITY = (1), + MWT_LEFTMULTIPLY = (2), + MWT_RIGHTMULTIPLY = (3), + MOUSEEVENTF_ABSOLUTE = (32768), + MOUSEEVENTF_MOVE = (1), + MOUSEEVENTF_LEFTDOWN = (2), + MOUSEEVENTF_LEFTUP = (4), + MOUSEEVENTF_RIGHTDOWN = (8), + MOUSEEVENTF_RIGHTUP = (16), + MOUSEEVENTF_MIDDLEDOWN = (32), + MOUSEEVENTF_MIDDLEUP = (64), + MOVEFILE_REPLACE_EXISTING = (1), + MOVEFILE_COPY_ALLOWED = (2), + MOVEFILE_DELAY_UNTIL_REBOOT = (4), + MOVEFILE_WRITE_THROUGH = (8), + WAIT_OBJECT_0 = (0), + WAIT_ABANDONED_0 = (0x80), + WAIT_TIMEOUT = (0x102), + WAIT_IO_COMPLETION = (0xc0), + WAIT_ABANDONED = (0x80), + WAIT_FAILED = (0xffffffff), + MAXIMUM_WAIT_OBJECTS = (0x40), + MAXIMUM_SUSPEND_COUNT = (0x7f), + MB_PRECOMPOSED = (1), + MB_COMPOSITE = (2), + MB_ERR_INVALID_CHARS = (8), + MB_USEGLYPHCHARS = (4), + TOKEN_ADJUST_DEFAULT = (128), + TOKEN_ADJUST_GROUPS = (64), + TOKEN_ADJUST_PRIVILEGES = (32), + TOKEN_ALL_ACCESS = (0xf00ff), + TOKEN_ASSIGN_PRIMARY = (1), + TOKEN_DUPLICATE = (2), + TOKEN_EXECUTE = (0x20000), + TOKEN_IMPERSONATE = (4), + TOKEN_QUERY = (8), + TOKEN_QUERY_SOURCE = (16), + TOKEN_READ = (0x20008), + TOKEN_WRITE = (0x200e0), + SC_MANAGER_ALL_ACCESS = (0xf003f), + SC_MANAGER_CONNECT = (1), + SC_MANAGER_CREATE_SERVICE = (2), + SC_MANAGER_ENUMERATE_SERVICE = (4), + SC_MANAGER_LOCK = (8), + SC_MANAGER_QUERY_LOCK_STATUS = (16), + SC_MANAGER_MODIFY_BOOT_CONFIG = (32), + TAPE_FORMAT = (0x5), + TAPE_LOAD = (0), + TAPE_LOCK = (0x3), + TAPE_TENSION = (0x2), + TAPE_UNLOAD = (0x1), + TAPE_UNLOCK = (0x4), + IS_PSREBOOTSYSTEM = (3), + IS_PSRESTARTWINDOWS = (2), + PSPCB_CREATE = (2), + PSPCB_RELEASE = (1), + PURGE_TXABORT = (1), + PURGE_RXABORT = (2), + PURGE_TXCLEAR = (4), + PURGE_RXCLEAR = (8), + OWNER_SECURITY_INFORMATION = (0x1), + GROUP_SECURITY_INFORMATION = (0x2), + DACL_SECURITY_INFORMATION = (0x4), + SACL_SECURITY_INFORMATION = (0x8), + EVENTLOG_FORWARDS_READ = (4), + EVENTLOG_BACKWARDS_READ = (8), + EVENTLOG_SEEK_READ = (2), + EVENTLOG_SEQUENTIAL_READ = (1), + EVENTLOG_ERROR_TYPE = (1), + EVENTLOG_WARNING_TYPE = (2), + EVENTLOG_INFORMATION_TYPE = (4), + EVENTLOG_AUDIT_SUCCESS = (8), + EVENTLOG_AUDIT_FAILURE = (16), + RDW_ERASE = (4), + RDW_FRAME = (1024), + RDW_INTERNALPAINT = (2), + RDW_INVALIDATE = (1), + RDW_NOERASE = (32), + RDW_NOFRAME = (2048), + RDW_NOINTERNALPAINT = (16), + RDW_VALIDATE = (8), + RDW_ERASENOW = (512), + RDW_UPDATENOW = (256), + RDW_ALLCHILDREN = (128), + RDW_NOCHILDREN = (64), +/* + // + HKEY_CLASSES_ROOT = (0x80000000), + HKEY_CURRENT_USER = (0x80000001), + HKEY_LOCAL_MACHINE = (0x80000002), + HKEY_USERS = (0x80000003), + HKEY_PERFORMANCE_DATA = (0x80000004), + HKEY_CURRENT_CONFIG = (0x80000005), + HKEY_DYN_DATA = (0x80000006), +*/ + REG_OPTION_VOLATILE = (0x1), + REG_OPTION_NON_VOLATILE = (0), + REG_CREATED_NEW_KEY = (0x1), + REG_OPENED_EXISTING_KEY = (0x2), + REG_BINARY = (3), + REG_DWORD = (4), + REG_DWORD_LITTLE_ENDIAN = (4), + REG_DWORD_BIG_ENDIAN = (5), + REG_EXPAND_SZ = (2), + REG_FULL_RESOURCE_DESCRIPTOR = (9), + REG_LINK = (6), + REG_MULTI_SZ = (7), + REG_NONE = (0), + REG_RESOURCE_LIST = (8), + REG_RESOURCE_REQUIREMENTS_LIST = (10), + REG_SZ = (1), + MOD_ALT = (1), + MOD_CONTROL = (2), + MOD_SHIFT = (4), + MOD_WIN = (8), + IDHOT_SNAPDESKTOP = -((2)), + IDHOT_SNAPWINDOW = -((1)), + REG_NOTIFY_CHANGE_NAME = (0x1), + REG_NOTIFY_CHANGE_ATTRIBUTES = (0x2), + REG_NOTIFY_CHANGE_LAST_SET = (0x4), + REG_NOTIFY_CHANGE_SECURITY = (0x8), + SW_ERASE = (4), + SW_INVALIDATE = (2), + SW_SCROLLCHILDREN = (1), + SMTO_ABORTIFHUNG = (2), + SMTO_BLOCK = (1), + SMTO_NORMAL = (0), + OPAQUE = (2), + TRANSPARENT = (1), + SLE_ERROR = (1), + SLE_MINORERROR = (2), + SLE_WARNING = (3), + SEM_FAILCRITICALERRORS = (1), + SEM_NOALIGNMENTFAULTEXCEPT = (4), + SEM_NOGPFAULTERRORBOX = (2), + SEM_NOOPENFILEERRORBOX = (32768), + ICM_ON = (2), + ICM_OFF = (1), + ICM_QUERY = (3), + LOCALE_ILANGUAGE = (1), + LOCALE_SLANGUAGE = (2), + LOCALE_SENGLANGUAGE = (4097), + LOCALE_SABBREVLANGNAME = (3), + LOCALE_SNATIVELANGNAME = (4), + LOCALE_ICOUNTRY = (5), + LOCALE_SCOUNTRY = (6), + LOCALE_SENGCOUNTRY = (4098), + LOCALE_SABBREVCTRYNAME = (7), + LOCALE_SNATIVECTRYNAME = (8), + LOCALE_IDEFAULTLANGUAGE = (9), + LOCALE_IDEFAULTCOUNTRY = (10), + LOCALE_IDEFAULTANSICODEPAGE = (4100), + LOCALE_IDEFAULTCODEPAGE = (11), + LOCALE_SLIST = (12), + LOCALE_IMEASURE = (13), + LOCALE_SDECIMAL = (14), + LOCALE_STHOUSAND = (15), + LOCALE_SGROUPING = (16), + LOCALE_IDIGITS = (17), + LOCALE_ILZERO = (18), + LOCALE_INEGNUMBER = (4112), + LOCALE_SCURRENCY = (20), + LOCALE_SMONDECIMALSEP = (22), + LOCALE_SMONTHOUSANDSEP = (23), + LOCALE_SMONGROUPING = (24), + LOCALE_ICURRDIGITS = (25), + LOCALE_ICURRENCY = (27), + LOCALE_INEGCURR = (28), + LOCALE_SDATE = (29), + LOCALE_STIME = (30), + LOCALE_STIMEFORMAT = (4099), + LOCALE_SSHORTDATE = (31), + LOCALE_SLONGDATE = (32), + LOCALE_IDATE = (33), + LOCALE_ILDATE = (34), + LOCALE_ITIME = (35), + LOCALE_ITLZERO = (37), + LOCALE_IDAYLZERO = (38), + LOCALE_IMONLZERO = (39), + LOCALE_S1159 = (40), + LOCALE_S2359 = (41), + LOCALE_ICALENDARTYPE = (4105), + LOCALE_IOPTIONALCALENDAR = (4107), + LOCALE_IFIRSTDAYOFWEEK = (4108), + LOCALE_IFIRSTWEEKOFYEAR = (4109), + LOCALE_SDAYNAME1 = (42), + LOCALE_SDAYNAME2 = (43), + LOCALE_SDAYNAME3 = (44), + LOCALE_SDAYNAME4 = (45), + LOCALE_SDAYNAME5 = (46), + LOCALE_SDAYNAME6 = (47), + LOCALE_SDAYNAME7 = (48), + LOCALE_SABBREVDAYNAME1 = (49), + LOCALE_SABBREVDAYNAME2 = (50), + LOCALE_SABBREVDAYNAME3 = (51), + LOCALE_SABBREVDAYNAME4 = (52), + LOCALE_SABBREVDAYNAME5 = (53), + LOCALE_SABBREVDAYNAME6 = (54), + LOCALE_SABBREVDAYNAME7 = (55), + LOCALE_SMONTHNAME1 = (56), + LOCALE_SMONTHNAME2 = (57), + LOCALE_SMONTHNAME3 = (58), + LOCALE_SMONTHNAME4 = (59), + LOCALE_SMONTHNAME5 = (60), + LOCALE_SMONTHNAME6 = (61), + LOCALE_SMONTHNAME7 = (62), + LOCALE_SMONTHNAME8 = (63), + LOCALE_SMONTHNAME9 = (64), + LOCALE_SMONTHNAME10 = (65), + LOCALE_SMONTHNAME11 = (66), + LOCALE_SMONTHNAME12 = (67), + LOCALE_SMONTHNAME13 = (4110), + LOCALE_SABBREVMONTHNAME1 = (68), + LOCALE_SABBREVMONTHNAME2 = (69), + LOCALE_SABBREVMONTHNAME3 = (70), + LOCALE_SABBREVMONTHNAME4 = (71), + LOCALE_SABBREVMONTHNAME5 = (72), + LOCALE_SABBREVMONTHNAME6 = (73), + LOCALE_SABBREVMONTHNAME7 = (74), + LOCALE_SABBREVMONTHNAME8 = (75), + LOCALE_SABBREVMONTHNAME9 = (76), + LOCALE_SABBREVMONTHNAME10 = (77), + LOCALE_SABBREVMONTHNAME11 = (78), + LOCALE_SABBREVMONTHNAME12 = (79), + LOCALE_SABBREVMONTHNAME13 = (4111), + LOCALE_SPOSITIVESIGN = (80), + LOCALE_SNEGATIVESIGN = (81), + LOCALE_IPOSSIGNPOSN = (82), + LOCALE_INEGSIGNPOSN = (83), + LOCALE_IPOSSYMPRECEDES = (84), + LOCALE_IPOSSEPBYSPACE = (85), + LOCALE_INEGSYMPRECEDES = (86), + LOCALE_INEGSEPBYSPACE = (87), + LOCALE_NOUSEROVERRIDE = (0x80000000), + CAL_ICALINTVALUE = (1), + CAL_IYEAROFFSETRANGE = (3), + CAL_SABBREVDAYNAME1 = (14), + CAL_SABBREVDAYNAME2 = (15), + CAL_SABBREVDAYNAME3 = (16), + CAL_SABBREVDAYNAME4 = (17), + CAL_SABBREVDAYNAME5 = (18), + CAL_SABBREVDAYNAME6 = (19), + CAL_SABBREVDAYNAME7 = (20), + CAL_SABBREVMONTHNAME1 = (34), + CAL_SABBREVMONTHNAME2 = (35), + CAL_SABBREVMONTHNAME3 = (36), + CAL_SABBREVMONTHNAME4 = (37), + CAL_SABBREVMONTHNAME5 = (38), + CAL_SABBREVMONTHNAME6 = (39), + CAL_SABBREVMONTHNAME7 = (40), + CAL_SABBREVMONTHNAME8 = (41), + CAL_SABBREVMONTHNAME9 = (42), + CAL_SABBREVMONTHNAME10 = (43), + CAL_SABBREVMONTHNAME11 = (44), + CAL_SABBREVMONTHNAME12 = (45), + CAL_SABBREVMONTHNAME13 = (46), + CAL_SCALNAME = (2), + CAL_SDAYNAME1 = (7), + CAL_SDAYNAME2 = (8), + CAL_SDAYNAME3 = (9), + CAL_SDAYNAME4 = (10), + CAL_SDAYNAME5 = (11), + CAL_SDAYNAME6 = (12), + CAL_SDAYNAME7 = (13), + CAL_SERASTRING = (4), + CAL_SLONGDATE = (6), + CAL_SMONTHNAME1 = (21), + CAL_SMONTHNAME2 = (22), + CAL_SMONTHNAME3 = (23), + CAL_SMONTHNAME4 = (24), + CAL_SMONTHNAME5 = (25), + CAL_SMONTHNAME6 = (26), + CAL_SMONTHNAME7 = (27), + CAL_SMONTHNAME8 = (28), + CAL_SMONTHNAME9 = (29), + CAL_SMONTHNAME10 = (30), + CAL_SMONTHNAME11 = (31), + CAL_SMONTHNAME12 = (32), + CAL_SMONTHNAME13 = (33), + CAL_SSHORTDATE = (5), + PROCESS_SET_QUOTA = (256), + BLACKONWHITE = (1), + COLORONCOLOR = (3), + HALFTONE = (4), + STRETCH_ANDSCANS = (1), + STRETCH_DELETESCANS = (3), + STRETCH_HALFTONE = (4), + STRETCH_ORSCANS = (2), + WHITEONBLACK = (2), + OCR_NORMAL = (32512), + OCR_IBEAM = (32513), + OCR_WAIT = (32514), + OCR_CROSS = (32515), + OCR_UP = (32516), + OCR_SIZE = (32640), + OCR_ICON = (32641), + OCR_SIZENWSE = (32642), + OCR_SIZENESW = (32643), + OCR_SIZEWE = (32644), + OCR_SIZENS = (32645), + OCR_SIZEALL = (32646), + OCR_NO = (32648), + OCR_APPSTARTING = (32650), + TAPE_ABSOLUTE_BLOCK = (0x1), + TAPE_LOGICAL_BLOCK = (0x2), + TAPE_REWIND = (0), + TAPE_SPACE_END_OF_DATA = (0x4), + TAPE_SPACE_FILEMARKS = (0x6), + TAPE_SPACE_RELATIVE_BLOCKS = (0x5), + TAPE_SPACE_SEQUENTIAL_FMKS = (0x7), + TAPE_SPACE_SEQUENTIAL_SMKS = (0x9), + TAPE_SPACE_SETMARKS = (0x8), + EXCEPTION_EXECUTE_HANDLER = (1), + EXCEPTION_CONTINUE_EXECUTION = -((1)), + EXCEPTION_CONTINUE_SEARCH = (0), + SWP_DRAWFRAME = (32), + SWP_FRAMECHANGED = (32), + SWP_HIDEWINDOW = (128), + SWP_NOACTIVATE = (16), + SWP_NOCOPYBITS = (256), + SWP_NOMOVE = (2), + SWP_NOSIZE = (1), + SWP_NOREDRAW = (8), + SWP_NOZORDER = (4), + SWP_SHOWWINDOW = (64), + SWP_NOOWNERZORDER = (512), + SWP_NOREPOSITION = (512), + SWP_NOSENDCHANGING = (1024), + HSHELL_ACTIVATESHELLWINDOW = (3), + HSHELL_GETMINRECT = (5), + HSHELL_LANGUAGE = (8), + HSHELL_REDRAW = (6), + HSHELL_TASKMAN = (7), + HSHELL_WINDOWACTIVATED = (4), + HSHELL_WINDOWCREATED = (1), + HSHELL_WINDOWDESTROYED = (2), + SW_HIDE = (0), + SW_MAXIMIZE = (3), + SW_MINIMIZE = (6), + SW_NORMAL = (1), + SW_RESTORE = (9), + SW_SHOW = (5), + SW_SHOWDEFAULT = (10), + SW_SHOWMAXIMIZED = (3), + SW_SHOWMINIMIZED = (2), + SW_SHOWMINNOACTIVE = (7), + SW_SHOWNA = (8), + SW_SHOWNOACTIVATE = (4), + SW_SHOWNORMAL = (1), + WPF_RESTORETOMAXIMIZED = (2), + WPF_SETMINPOSITION = (1), + INFINITE = (0xFFFFFFFF), + SPI_GETACCESSTIMEOUT = (60), + SPI_GETANIMATION = (72), + SPI_GETBEEP = (1), + SPI_GETBORDER = (5), + SPI_GETDEFAULTINPUTLANG = (89), + SPI_GETDRAGFULLWINDOWS = (38), + SPI_GETFASTTASKSWITCH = (35), + SPI_GETFILTERKEYS = (50), + SPI_GETFONTSMOOTHING = (74), + SPI_GETGRIDGRANULARITY = (18), + SPI_GETHIGHCONTRAST = (66), + SPI_GETICONMETRICS = (45), + SPI_GETICONTITLELOGFONT = (31), + SPI_GETICONTITLEWRAP = (25), + SPI_GETKEYBOARDDELAY = (22), + SPI_GETKEYBOARDPREF = (68), + SPI_GETKEYBOARDSPEED = (10), + SPI_GETLOWPOWERACTIVE = (83), + SPI_GETLOWPOWERTIMEOUT = (79), + SPI_GETMENUDROPALIGNMENT = (27), + SPI_GETMINIMIZEDMETRICS = (43), + SPI_GETMOUSE = (3), + SPI_GETMOUSEKEYS = (54), + SPI_GETMOUSETRAILS = (94), + SPI_GETNONCLIENTMETRICS = (41), + SPI_GETPOWEROFFACTIVE = (84), + SPI_GETPOWEROFFTIMEOUT = (80), + SPI_GETSCREENREADER = (70), + SPI_GETSCREENSAVEACTIVE = (16), + SPI_GETSCREENSAVETIMEOUT = (14), + SPI_GETSERIALKEYS = (62), + SPI_GETSHOWSOUNDS = (56), + SPI_GETSOUNDSENTRY = (64), + SPI_GETSTICKYKEYS = (58), + SPI_GETTOGGLEKEYS = (52), + SPI_GETWINDOWSEXTENSION = (92), + SPI_GETWORKAREA = (48), + SPI_ICONHORIZONTALSPACING = (13), + SPI_ICONVERTICALSPACING = (24), + SPI_LANGDRIVER = (12), + SPI_SCREENSAVERRUNNING = (97), + SPI_SETACCESSTIMEOUT = (61), + SPI_SETANIMATION = (73), + SPI_SETBEEP = (2), + SPI_SETBORDER = (6), + SPI_SETDEFAULTINPUTLANG = (90), + SPI_SETDESKPATTERN = (21), + SPI_SETDESKWALLPAPER = (20), + SPI_SETDOUBLECLICKTIME = (32), + SPI_SETDOUBLECLKHEIGHT = (30), + SPI_SETDOUBLECLKWIDTH = (29), + SPI_SETDRAGFULLWINDOWS = (37), + SPI_SETDRAGHEIGHT = (77), + SPI_SETDRAGWIDTH = (76), + SPI_SETFASTTASKSWITCH = (36), + SPI_SETFILTERKEYS = (51), + SPI_SETFONTSMOOTHING = (75), + SPI_SETGRIDGRANULARITY = (19), + SPI_SETHANDHELD = (78), + SPI_SETHIGHCONTRAST = (67), + SPI_SETICONMETRICS = (46), + SPI_SETICONTITLELOGFONT = (34), + SPI_SETICONTITLEWRAP = (26), + SPI_SETKEYBOARDDELAY = (23), + SPI_SETKEYBOARDPREF = (69), + SPI_SETKEYBOARDSPEED = (11), + SPI_SETLANGTOGGLE = (91), + SPI_SETLOWPOWERACTIVE = (85), + SPI_SETLOWPOWERTIMEOUT = (81), + SPI_SETMENUDROPALIGNMENT = (28), + SPI_SETMINIMIZEDMETRICS = (44), + SPI_SETMOUSE = (4), + SPI_SETMOUSEBUTTONSWAP = (33), + SPI_SETMOUSEKEYS = (55), + SPI_SETMOUSETRAILS = (93), + SPI_SETNONCLIENTMETRICS = (42), + SPI_SETPENWINDOWS = (49), + SPI_SETPOWEROFFACTIVE = (86), + SPI_SETPOWEROFFTIMEOUT = (82), + SPI_SETSCREENREADER = (71), + SPI_SETSCREENSAVEACTIVE = (17), + SPI_SETSCREENSAVETIMEOUT = (15), + SPI_SETSERIALKEYS = (63), + SPI_SETSHOWSOUNDS = (57), + SPI_SETSOUNDSENTRY = (65), + SPI_SETSTICKYKEYS = (59), + SPI_SETTOGGLEKEYS = (53), + SPI_SETWORKAREA = (47), + SPIF_UPDATEINIFILE = (1), + SPIF_SENDWININICHANGE = (2), + SPIF_SENDCHANGE = (2), + TPM_CENTERALIGN = (0x4), + TPM_LEFTALIGN = (0), + TPM_RIGHTALIGN = (0x8), + TPM_LEFTBUTTON = (0), + TPM_RIGHTBUTTON = (0x2), + TPM_HORIZONTAL = (0), + TPM_VERTICAL = (0x40), + TCI_SRCCHARSET = (1), + TCI_SRCCODEPAGE = (2), + TCI_SRCFONTSIG = (3), + VFFF_ISSHAREDFILE = (1), + VFF_CURNEDEST = (1), + VFF_FILEINUSE = (2), + VFF_BUFFTOOSMALL = (4), + VIFF_FORCEINSTALL = (1), + VIFF_DONTDELETEOLD = (2), + VIF_TEMPFILE = (0x1), + VIF_MISMATCH = (0x2), + VIF_SRCOLD = (0x4), + VIF_DIFFLANG = (0x8), + VIF_DIFFCODEPG = (0x10), + VIF_DIFFTYPE = (0x20), + VIF_WRITEPROT = (0x40), + VIF_FILEINUSE = (0x80), + VIF_OUTOFSPACE = (0x100), + VIF_ACCESSVIOLATION = (0x200), + VIF_SHARINGVIOLATION = (0x400), + VIF_CANNOTCREATE = (0x800), + VIF_CANNOTDELETE = (0x1000), + VIF_CANNOTDELETECUR = (0x4000), + VIF_CANNOTRENAME = (0x2000), + VIF_OUTOFMEMORY = (0x8000), + VIF_CANNOTREADSRC = (0x10000), + VIF_CANNOTREADDST = (0x20000), + VIF_BUFFTOOSMALL = (0x40000), + WC_COMPOSITECHECK = (512), + WC_DISCARDNS = (16), + WC_SEPCHARS = (32), + WC_DEFAULTCHAR = (64), + HELP_COMMAND = (0x102), + HELP_CONTENTS = (0x3), + HELP___FILE__ = (0x1), + HELP___FILE__POPUP = (0x8), + HELP_FORCEFILE = (0x9), + HELP_HELPONHELP = (0x4), + HELP_INDEX = (0x3), + HELP_KEY = (0x101), + HELP_MULTIKEY = (0x201), + HELP_PARTIALKEY = (0x105), + HELP_QUIT = (0x2), + HELP_SETCONTENTS = (0x5), + HELP_SETINDEX = (0x5), + HELP___FILE__MENU = (0xa), + HELP_FINDER = (0xb), + HELP_WM_HELP = (0xc), + HELP_TCARD = (0x8000), + HELP_TCARD_DATA = (0x10), + HELP_TCARD_OTHER_CALLER = (0x11), + CONNECT_UPDATE_PROFILE = (1), + RESOURCETYPE_DISK = (1), + RESOURCETYPE_PRINT = (2), + RESOURCETYPE_ANY = (0), + RESOURCE_CONNECTED = (1), + RESOURCE_GLOBALNET = (2), + RESOURCE_REMEMBERED = (3), + RESOURCEUSAGE_CONNECTABLE = (1), + RESOURCEUSAGE_CONTAINER = (2), + WN_BAD_NETNAME = (0x43), + WN_EXTENDED_ERROR = (0x4b8), + WN_MORE_DATA = (0xea), + WN_NO_NETWORK = (0x4c6), + WN_SUCCESS = (0), + WN_ACCESS_DENIED = (0x5), + WN_BAD_PROVIDER = (0x4b4), + WN_NOT_AUTHENTICATED = (0x4dc), + UNIVERSAL_NAME_INFO_LEVEL = (1), + REMOTE_NAME_INFO_LEVEL = (2), + STILL_ACTIVE = (0x103), + SP_SERIALCOMM = (0x1), + BAUD_075 = (0x1), + BAUD_110 = (0x2), + BAUD_134_5 = (0x4), + BAUD_150 = (0x8), + BAUD_300 = (0x10), + BAUD_600 = (0x20), + BAUD_1200 = (0x40), + BAUD_1800 = (0x80), + BAUD_2400 = (0x100), + BAUD_4800 = (0x200), + BAUD_7200 = (0x400), + BAUD_9600 = (0x800), + BAUD_14400 = (0x1000), + BAUD_19200 = (0x2000), + BAUD_38400 = (0x4000), + BAUD_56K = (0x8000), + BAUD_57600 = (0x40000), + BAUD_115200 = (0x20000), + BAUD_128K = (0x10000), + BAUD_USER = (0x10000000), + PST_FAX = (0x21), + PST_LAT = (0x101), + PST_MODEM = (0x6), + PST_NETWORK_BRIDGE = (0x100), + PST_PARALLELPORT = (0x2), + PST_RS232 = (0x1), + PST_RS422 = (0x3), + PST_RS423 = (0x4), + PST_RS449 = (0x5), + PST_SCANNER = (0x22), + PST_TCPIP_TELNET = (0x102), + PST_UNSPECIFIED = (0), + PST_X25 = (0x103), + PCF_16BITMODE = (0x200), + PCF_DTRDSR = (0x1), + PCF_INTTIMEOUTS = (0x80), + PCF_PARITY_CHECK = (0x8), + PCF_RLSD = (0x4), + PCF_RTSCTS = (0x2), + PCF_SETXCHAR = (0x20), + PCF_SPECIALCHARS = (0x100), + PCF_TOTALTIMEOUTS = (0x40), + PCF_XONXOFF = (0x10), + SP_BAUD = (0x2), + SP_DATABITS = (0x4), + SP_HANDSHAKING = (0x10), + SP_PARITY = (0x1), + SP_PARITY_CHECK = (0x20), + SP_RLSD = (0x40), + SP_STOPBITS = (0x8), + DATABITS_5 = (1), + DATABITS_6 = (2), + DATABITS_7 = (4), + DATABITS_8 = (8), + DATABITS_16 = (16), + DATABITS_16X = (32), + STOPBITS_10 = (1), + STOPBITS_15 = (2), + STOPBITS_20 = (4), + PARITY_NONE = (256), + PARITY_ODD = (512), + PARITY_EVEN = (1024), + PARITY_MARK = (2048), + PARITY_SPACE = (4096), + COMMPROP_INITIALIZED = (0xe73cf52e), + CBR_110 = (110), + CBR_300 = (300), + CBR_600 = (600), + CBR_1200 = (1200), + CBR_2400 = (2400), + CBR_4800 = (4800), + CBR_9600 = (9600), + CBR_14400 = (14400), + CBR_19200 = (19200), + CBR_38400 = (38400), + CBR_56000 = (56000), + CBR_57600 = (57600), + CBR_115200 = (115200), + CBR_128000 = (128000), + CBR_256000 = (256000), + DTR_CONTROL_DISABLE = (0), + DTR_CONTROL_ENABLE = (1), + DTR_CONTROL_HANDSHAKE = (2), + RTS_CONTROL_DISABLE = (0), + RTS_CONTROL_ENABLE = (1), + RTS_CONTROL_HANDSHAKE = (2), + RTS_CONTROL_TOGGLE = (3), + EVENPARITY = (2), + MARKPARITY = (3), + NOPARITY = (0), + ODDPARITY = (1), + SPACEPARITY = (4), + ONESTOPBIT = (0), + ONE5STOPBITS = (1), + TWOSTOPBITS = (2), + CREATE_PROCESS_DEBUG_EVENT = (3), + CREATE_THREAD_DEBUG_EVENT = (2), + EXCEPTION_DEBUG_EVENT = (1), + EXIT_PROCESS_DEBUG_EVENT = (5), + EXIT_THREAD_DEBUG_EVENT = (4), + LOAD_DLL_DEBUG_EVENT = (6), + OUTPUT_DEBUG_STRING_EVENT = (8), + UNLOAD_DLL_DEBUG_EVENT = (7), + RIP_EVENT = (9), + PROCESS_HEAP_REGION = (1), + PROCESS_HEAP_UNCOMMITTED_RANGE = (2), + PROCESS_HEAP_ENTRY_BUSY = (4), + PROCESS_HEAP_ENTRY_MOVEABLE = (16), + PROCESS_HEAP_ENTRY_DDESHARE = (32), + HINSTANCE_ERROR = (32), + BACKUP_DATA = (1), + BACKUP_EA_DATA = (2), + BACKUP_SECURITY_DATA = (3), + BACKUP_ALTERNATE_DATA = (4), + BACKUP_LINK = (5), + STREAM_MODIFIED_WHEN_READ = (1), + STREAM_CONTAINS_SECURITY = (2), + STARTF_USESHOWWINDOW = (1), + STARTF_USEPOSITION = (4), + STARTF_USESIZE = (2), + STARTF_USECOUNTCHARS = (8), + STARTF_USEFILLATTRIBUTE = (16), + STARTF_RUNFULLSCREEN = (32), + STARTF_FORCEONFEEDBACK = (64), + STARTF_FORCEOFFFEEDBACK = (128), + STARTF_USESTDHANDLES = (256), + STARTF_USEHOTKEY = (512), + VER_PLATFORM_WIN32s = (0), + VER_PLATFORM_WIN32_WINDOWS = (1), + VER_PLATFORM_WIN32_NT = (2), + MAXPROPPAGES = (100), + PSP_DEFAULT = (0), + PSP_DLGINDIRECT = (1), + PSP_HASHELP = (32), + PSP_USECALLBACK = (128), + PSP_USEHICON = (2), + PSP_USEICONID = (4), + PSP_USEREFPARENT = (64), + PSP_USETITLE = (8), + PSP_RTLREADING = (16), + PSH_DEFAULT = (0), + PSH_HASHELP = (512), + PSH_MODELESS = (1024), + PSH_NOAPPLYNOW = (128), + PSH_PROPSHEETPAGE = (8), + PSH_PROPTITLE = (1), + PSH_USECALLBACK = (256), + PSH_USEHICON = (2), + PSH_USEICONID = (4), + PSH_USEPSTARTPAGE = (64), + PSH_WIZARD = (32), + PSH_RTLREADING = (2048), + PSCB_INITIALIZED = (1), + PSCB_PRECREATE = (2), + PSNRET_NOERROR = (0), + PSNRET_INVALID_NOCHANGEPAGE = (2), + PSBTN_APPLYNOW = (4), + PSBTN_BACK = (0), + PSBTN_CANCEL = (5), + PSBTN_FINISH = (2), + PSBTN_HELP = (6), + PSBTN_NEXT = (1), + PSBTN_OK = (3), + PSWIZB_BACK = (1), + PSWIZB_NEXT = (2), + PSWIZB_FINISH = (4), + PSWIZB_DISABLEDFINISH = (8), + ID_PSREBOOTSYSTEM = (3), + ID_PSRESTARTWINDOWS = (2), + WIZ_BODYCX = (184), + WIZ_BODYX = (92), + WIZ_CXBMP = (80), + WIZ_CXDLG = (276), + WIZ_CYDLG = (140), +} +char* VS_FILE_INFO = cast(char*) ((16)); +enum : DWORD { + VS_VERSION_INFO = (1), + VS_FF_DEBUG = (0x1), + VS_FF_INFOINFERRED = (0x10), + VS_FF_PATCHED = (0x4), + VS_FF_PRERELEASE = (0x2), + VS_FF_PRIVATEBUILD = (0x8), + VS_FF_SPECIALBUILD = (0x20), + VOS_UNKNOWN = (0), + VOS_DOS = (0x10000), + VOS_OS216 = (0x20000), + VOS_OS232 = (0x30000), + VOS_NT = (0x40000), + VOS_DOS_WINDOWS16 = (0x10001), + VOS_DOS_WINDOWS32 = (0x10004), + VOS_OS216_PM16 = (0x20002), + VOS_OS232_PM32 = (0x30003), + VOS_NT_WINDOWS32 = (0x40004), + VFT_UNKNOWN = (0), + VFT_APP = (0x1), + VFT_DLL = (0x2), + VFT_DRV = (0x3), + VFT_FONT = (0x4), + VFT_VXD = (0x5), + VFT_STATIC_LIB = (0x7), + VFT2_UNKNOWN = (0), + VFT2_DRV_PRINTER = (0x1), + VFT2_DRV_KEYBOARD = (0x2), + VFT2_DRV_LANGUAGE = (0x3), + VFT2_DRV_DISPLAY = (0x4), + VFT2_DRV_MOUSE = (0x5), + VFT2_DRV_NETWORK = (0x6), + VFT2_DRV_SYSTEM = (0x7), + VFT2_DRV_INSTALLABLE = (0x8), + VFT2_DRV_SOUND = (0x9), + VFT2_FONT_RASTER = (0x1), + VFT2_FONT_VECTOR = (0x2), + VFT2_FONT_TRUETYPE = (0x3), + PAN_ANY = (0), + PAN_NO_FIT = (1), + PAN_FAMILY_TEXT_DISPLAY = (2), + PAN_FAMILY_SCRIPT = (3), + PAN_FAMILY_DECORATIVE = (4), + PAN_FAMILY_PICTORIAL = (5), + PAN_SERIF_COVE = (2), + PAN_SERIF_OBTUSE_COVE = (3), + PAN_SERIF_SQUARE_COVE = (4), + PAN_SERIF_OBTUSE_SQUARE_COVE = (5), + PAN_SERIF_SQUARE = (6), + PAN_SERIF_THIN = (7), + PAN_SERIF_BONE = (8), + PAN_SERIF_EXAGGERATED = (9), + PAN_SERIF_TRIANGLE = (10), + PAN_SERIF_NORMAL_SANS = (11), + PAN_SERIF_OBTUSE_SANS = (12), + PAN_SERIF_PERP_SANS = (13), + PAN_SERIF_FLARED = (14), + PAN_SERIF_ROUNDED = (15), + PAN_WEIGHT_VERY_LIGHT = (2), + PAN_WEIGHT_LIGHT = (3), + PAN_WEIGHT_THIN = (4), + PAN_WEIGHT_BOOK = (5), + PAN_WEIGHT_MEDIUM = (6), + PAN_WEIGHT_DEMI = (7), + PAN_WEIGHT_BOLD = (8), + PAN_WEIGHT_HEAVY = (9), + PAN_WEIGHT_BLACK = (10), + PAN_WEIGHT_NORD = (11), + PAN_PROP_OLD_STYLE = (2), + PAN_PROP_MODERN = (3), + PAN_PROP_EVEN_WIDTH = (4), + PAN_PROP_EXPANDED = (5), + PAN_PROP_CONDENSED = (6), + PAN_PROP_VERY_EXPANDED = (7), + PAN_PROP_VERY_CONDENSED = (8), + PAN_PROP_MONOSPACED = (9), + PAN_CONTRAST_NONE = (2), + PAN_CONTRAST_VERY_LOW = (3), + PAN_CONTRAST_LOW = (4), + PAN_CONTRAST_MEDIUM_LOW = (5), + PAN_CONTRAST_MEDIUM = (6), + PAN_CONTRAST_MEDIUM_HIGH = (7), + PAN_CONTRAST_HIGH = (8), + PAN_CONTRAST_VERY_HIGH = (9), + PAN_STROKE_GRADUAL_DIAG = (2), + PAN_STROKE_GRADUAL_TRAN = (3), + PAN_STROKE_GRADUAL_VERT = (4), + PAN_STROKE_GRADUAL_HORZ = (5), + PAN_STROKE_RAPID_VERT = (6), + PAN_STROKE_RAPID_HORZ = (7), + PAN_STROKE_INSTANT_VERT = (8), + PAN_STRAIGHT_ARMS_HORZ = (2), + PAN_STRAIGHT_ARMS_WEDGE = (3), + PAN_STRAIGHT_ARMS_VERT = (4), + PAN_STRAIGHT_ARMS_SINGLE_SERIF = (5), + PAN_STRAIGHT_ARMS_DOUBLE_SERIF = (6), + PAN_BENT_ARMS_HORZ = (7), + PAN_BENT_ARMS_VERT = (9), + PAN_BENT_ARMS_WEDGE = (8), + PAN_BENT_ARMS_SINGLE_SERIF = (10), + PAN_BENT_ARMS_DOUBLE_SERIF = (11), + PAN_LETT_NORMAL_CONTACT = (2), + PAN_LETT_NORMAL_WEIGHTED = (3), + PAN_LETT_NORMAL_BOXED = (4), + PAN_LETT_NORMAL_FLATTENED = (5), + PAN_LETT_NORMAL_ROUNDED = (6), + PAN_LETT_NORMAL_OFF_CENTER = (7), + PAN_LETT_NORMAL_SQUARE = (8), + PAN_LETT_OBLIQUE_CONTACT = (9), + PAN_LETT_OBLIQUE_WEIGHTED = (10), + PAN_LETT_OBLIQUE_BOXED = (11), + PAN_LETT_OBLIQUE_FLATTENED = (12), + PAN_LETT_OBLIQUE_ROUNDED = (13), + PAN_LETT_OBLIQUE_OFF_CENTER = (14), + PAN_LETT_OBLIQUE_SQUARE = (15), + PAN_MIDLINE_STANDARD_TRIMMED = (2), + PAN_MIDLINE_STANDARD_POINTED = (3), + PAN_MIDLINE_STANDARD_SERIFED = (4), + PAN_MIDLINE_HIGH_TRIMMED = (5), + PAN_MIDLINE_HIGH_POINTED = (6), + PAN_MIDLINE_HIGH_SERIFED = (7), + PAN_MIDLINE_CONSTANT_TRIMMED = (8), + PAN_MIDLINE_CONSTANT_POINTED = (9), + PAN_MIDLINE_CONSTANT_SERIFED = (10), + PAN_MIDLINE_LOW_TRIMMED = (11), + PAN_MIDLINE_LOW_POINTED = (12), + PAN_MIDLINE_LOW_SERIFED = (13), + PAN_XHEIGHT_CONSTANT_SMALL = (2), + PAN_XHEIGHT_CONSTANT_STD = (3), + PAN_XHEIGHT_CONSTANT_LARGE = (4), + PAN_XHEIGHT_DUCKING_SMALL = (5), + PAN_XHEIGHT_DUCKING_STD = (6), + PAN_XHEIGHT_DUCKING_LARGE = (7), + PC_EXPLICIT = (2), + PC_NOCOLLAPSE = (4), + PC_RESERVED = (1), + BS_DIBPATTERN = (5), + BS_DIBPATTERN8X8 = (8), + BS_DIBPATTERNPT = (6), + BS_HATCHED = (2), + BS_HOLLOW = (1), + BS_NULL = (1), + BS_PATTERN = (3), + BS_PATTERN8X8 = (7), + BS_SOLID = (0), + DM_ORIENTATION = (0x1), + DM_PAPERSIZE = (0x2), + DM_PAPERLENGTH = (0x4), + DM_PAPERWIDTH = (0x8), + DM_SCALE = (0x10), + DM_COPIES = (0x100), + DM_DEFAULTSOURCE = (0x200), + DM_PRINTQUALITY = (0x400), + DM_COLOR = (0x800), + DM_DUPLEX = (0x1000), + DM_YRESOLUTION = (0x2000), + DM_TTOPTION = (0x4000), + DM_COLLATE = (0x8000), + DM_FORMNAME = (0x10000), + DM_LOGPIXELS = (0x20000), + DM_ICMMETHOD = (0x800000), + DM_ICMINTENT = (0x1000000), + DM_MEDIATYPE = (0x2000000), + DM_DITHERTYPE = (0x4000000), + DMORIENT_LANDSCAPE = (2), + DMORIENT_PORTRAIT = (1), + DMPAPER_LETTER = (1), + DMPAPER_LEGAL = (5), + DMPAPER_A4 = (9), + DMPAPER_CSHEET = (24), + DMPAPER_DSHEET = (25), + DMPAPER_ESHEET = (26), + DMPAPER_LETTERSMALL = (2), + DMPAPER_TABLOID = (3), + DMPAPER_LEDGER = (4), + DMPAPER_STATEMENT = (6), + DMPAPER_EXECUTIVE = (7), + DMPAPER_A3 = (8), + DMPAPER_A4SMALL = (10), + DMPAPER_A5 = (11), + DMPAPER_B4 = (12), + DMPAPER_B5 = (13), + DMPAPER_FOLIO = (14), + DMPAPER_QUARTO = (15), + DMPAPER_10X14 = (16), + DMPAPER_11X17 = (17), + DMPAPER_NOTE = (18), + DMPAPER_ENV_9 = (19), + DMPAPER_ENV_10 = (20), + DMPAPER_ENV_11 = (21), + DMPAPER_ENV_12 = (22), + DMPAPER_ENV_14 = (23), + DMPAPER_ENV_DL = (27), + DMPAPER_ENV_C5 = (28), + DMPAPER_ENV_C3 = (29), + DMPAPER_ENV_C4 = (30), + DMPAPER_ENV_C6 = (31), + DMPAPER_ENV_C65 = (32), + DMPAPER_ENV_B4 = (33), + DMPAPER_ENV_B5 = (34), + DMPAPER_ENV_B6 = (35), + DMPAPER_ENV_ITALY = (36), + DMPAPER_ENV_MONARCH = (37), + DMPAPER_ENV_PERSONAL = (38), + DMPAPER_FANFOLD_US = (39), + DMPAPER_FANFOLD_STD_GERMAN = (40), + DMPAPER_FANFOLD_LGL_GERMAN = (41), + DMRES_HIGH = -((4)), + DMRES_MEDIUM = -((3)), + DMRES_LOW = -((2)), + DMRES_DRAFT = -((1)), + DMCOLOR_COLOR = (2), + DMCOLOR_MONOCHROME = (1), + DMDUP_SIMPLEX = (1), + DMDUP_HORIZONTAL = (3), + DMDUP_VERTICAL = (2), + DMTT_BITMAP = (1), + DMTT_DOWNLOAD = (2), + DMTT_SUBDEV = (3), + DMCOLLATE_TRUE = (1), + DMCOLLATE_FALSE = (0), + DM_GRAYSCALE = (1), + DM_INTERLACED = (2), + DMICMMETHOD_NONE = (1), + DMICMMETHOD_SYSTEM = (2), + DMICMMETHOD_DRIVER = (3), + DMICMMETHOD_DEVICE = (4), + DMICMMETHOD_USER = (256), + DMICM_SATURATE = (1), + DMICM_CONTRAST = (2), + DMICM_COLORMETRIC = (3), + DMICM_USER = (256), + DMMEDIA_STANDARD = (1), + DMMEDIA_GLOSSY = (3), + DMMEDIA_TRANSPARENCY = (2), + DMMEDIA_USER = (256), + DMDITHER_NONE = (1), + DMDITHER_COARSE = (2), + DMDITHER_FINE = (3), + DMDITHER_LINEART = (4), + DMDITHER_GRAYSCALE = (10), + DMDITHER_USER = (256), + RDH_RECTANGLES = (1), + TT_POLYGON_TYPE = (24), + TT_PRIM_LINE = (1), + TT_PRIM_QSPLINE = (2), + GCPCLASS_ARABIC = (2), + GCPCLASS_HEBREW = (2), + GCPCLASS_LATIN = (1), + GCPCLASS_LATINNUMBER = (5), + GCPCLASS_LOCALNUMBER = (4), + GCPCLASS_LATINNUMERICSEPARATOR = (7), + GCPCLASS_LATINNUMERICTERMINATOR = (6), + GCPCLASS_NEUTRAL = (3), + GCPCLASS_NUMERICSEPARATOR = (8), + GCPCLASS_PREBOUNDLTR = (128), + GCPCLASS_PREBOUNDRTL = (64), + GCPCLASS_POSTBOUNDLTR = (32), + GCPCLASS_POSTBOUNDRTL = (16), + GCPGLYPH_LINKBEFORE = (32768), + GCPGLYPH_LINKAFTER = (16384), + TT_AVAILABLE = (1), + TT_ENABLED = (2), + CA_NEGATIVE = (1), + CA_LOG_FILTER = (2), + ILLUMINANT_DEVICE_DEFAULT = (0), + ILLUMINANT_A = (1), + ILLUMINANT_B = (2), + ILLUMINANT_C = (3), + ILLUMINANT_D50 = (4), + ILLUMINANT_D55 = (5), + ILLUMINANT_D65 = (6), + ILLUMINANT_D75 = (7), + ILLUMINANT_F2 = (8), + ILLUMINANT_TUNGSTEN = (1), + ILLUMINANT_DAYLIGHT = (3), + ILLUMINANT_FLUORESCENT = (8), + ILLUMINANT_NTSC = (3), + DI_APPBANDING = (1), + EMR_HEADER = (1), + ENHMETA_SIGNATURE = (1179469088), + ENM_CHANGE = (1), + ENM_CORRECTTEXT = (4194304), + ENM_DROPFILES = (1048576), + ENM_KEYEVENTS = (65536), + ENM_MOUSEEVENTS = (131072), + ENM_PROTECTED = (2097152), + ENM_REQUESTRESIZE = (262144), + ENM_SCROLL = (4), + ENM_SELCHANGE = (524288), + ENM_UPDATE = (2), + ENM_NONE = (0), + ES_DISABLENOSCROLL = (8192), + ES_EX_NOCALLOLEINIT = (16777216), + ES_NOIME = (524288), + ES_SAVESEL = (32768), + ES_SELFIME = (262144), + ES_SUNKEN = (16384), + ES_VERTICAL = (4194304), + ES_SELECTIONBAR = (16777216), + ECOOP_SET = (1), + ECOOP_OR = (2), + ECOOP_AND = (3), + ECOOP_XOR = (4), + ECO_AUTOWORDSELECTION = (1), + ECO_AUTOVSCROLL = (64), + ECO_AUTOHSCROLL = (128), + ECO_NOHIDESEL = (256), + ECO_READONLY = (2048), + ECO_WANTRETURN = (4096), + ECO_SAVESEL = (32768), + ECO_SELECTIONBAR = (16777216), + ECO_VERTICAL = (4194304), + SCF_WORD = (2), + SCF_SELECTION = (1), + SF_TEXT = (1), + SF_RTF = (2), + SF_RTFNOOBJS = (3), + SF_TEXTIZED = (4), + SFF_SELECTION = (32768), + SFF_PLAINRTF = (16384), + WB_CLASSIFY = (3), + WB_LEFTBREAK = (6), + WB_PREVBREAK = (6), + WB_MOVEWORDLEFT = (4), + WB_MOVEWORDPREV = (4), + WB_MOVEWORDRIGHT = (5), + WB_MOVEWORDNEXT = (5), + WB_RIGHTBREAK = (7), + WB_NEXTBREAK = (7), + PC_LEADING = (2), + PC_FOLLOWING = (1), + PC_DELIMITER = (4), + PC_OVERFLOW = (3), + WBF_WORDWRAP = (16), + WBF_WORDBREAK = (32), + WBF_OVERFLOW = (64), + WBF_LEVEL1 = (128), + WBF_LEVEL2 = (256), + WBF_CUSTOM = (512), + WBF_BREAKAFTER = (64), + WBF_BREAKLINE = (32), + WBF_ISWHITE = (16), + CFM_BOLD = (1), + CFM_COLOR = (1073741824), + CFM_FACE = (536870912), + CFM_ITALIC = (2), + CFM_OFFSET = (268435456), + CFM_PROTECTED = (16), + CFM_SIZE = (0x80000000), + CFM_STRIKEOUT = (8), + CFM_UNDERLINE = (4), + CFE_AUTOCOLOR = (1073741824), + CFE_BOLD = (1), + CFE_ITALIC = (2), + CFE_STRIKEOUT = (8), + CFE_UNDERLINE = (4), + CFE_PROTECTED = (16), + PFM_ALIGNMENT = (8), + PFM_NUMBERING = (32), + PFM_OFFSET = (4), + PFM_OFFSETINDENT = (0x80000000), + PFM_RIGHTINDENT = (2), + PFM_STARTINDENT = (1), + PFM_TABSTOPS = (16), + PFN_BULLET = (1), + PFA_LEFT = (1), + PFA_RIGHT = (2), + PFA_CENTER = (3), + SEL_EMPTY = (0), + SEL_TEXT = (1), + SEL_OBJECT = (2), + SEL_MULTICHAR = (4), + SEL_MULTIOBJECT = (8), +} +const { +char* CF_RTF = ("Rich Text Format"); +char* CF_RETEXTOBJ = ("RichEdit Text and Objects"); +} +enum : DWORD { + ODT_BUTTON = (4), + ODT_COMBOBOX = (3), + ODT_LISTBOX = (2), + ODT_LISTVIEW = (102), + ODT_MENU = (1), + ODT_STATIC = (5), + ODT_TAB = (101), + ODT_HEADER = (100), + ODA_DRAWENTIRE = (1), + ODA_FOCUS = (4), + ODA_SELECT = (2), + ODS_CHECKED = (8), + ODS_COMBOBOXEDIT = (4096), + ODS_DEFAULT = (32), + ODS_DISABLED = (4), + ODS_FOCUS = (16), + ODS_GRAYED = (2), + ODS_SELECTED = (1), +} +const { +char* ANIMATE_CLASSW = ("SysAnimate32"); +char* HOTKEY_CLASSW = ("msctls_hotkey32"); +char* PROGRESS_CLASSW = ("msctls_progress32"); +char* STATUSCLASSNAMEW = ("msctls_statusbar32"); +char* TOOLBARCLASSNAMEW = ("ToolbarWindow32"); +char* TOOLTIPS_CLASSW = ("tooltips_class32"); +char* TRACKBAR_CLASSW = ("msctls_trackbar32"); +char* UPDOWN_CLASSW = ("msctls_updown32"); +char* WC_HEADERW = ("SysHeader32"); +char* WC_LISTVIEWW = ("SysListView32"); +char* WC_TABCONTROLW = ("SysTabControl32"); +char* WC_TREEVIEWW = ("SysTreeView32"); +} +enum : DWORD { + CCS_ADJUSTABLE = (0x20), + CCS_BOTTOM = (0x3), + CCS_NODIVIDER = (0x40), + CCS_NOMOVEY = (0x2), + CCS_NOPARENTALIGN = (0x8), + CCS_NORESIZE = (0x4), + CCS_TOP = (0x1), +} +const { +char* ANIMATE_CLASSA = ("SysAnimate32"); +char* HOTKEY_CLASSA = ("msctls_hotkey32"); +char* PROGRESS_CLASSA = ("msctls_progress32"); +char* STATUSCLASSNAMEA = ("msctls_statusbar32"); +char* TOOLBARCLASSNAMEA = ("ToolbarWindow32"); +char* TOOLTIPS_CLASSA = ("tooltips_class32"); +char* TRACKBAR_CLASSA = ("msctls_trackbar32"); +char* UPDOWN_CLASSA = ("msctls_updown32"); +char* WC_HEADERA = ("SysHeader32"); +char* WC_LISTVIEWA = ("SysListView32"); +char* WC_TABCONTROLA = ("SysTabControl32"); +char* WC_TREEVIEWA = ("SysTreeView32"); +char* ANIMATE_CLASS = (ANIMATE_CLASSA); +char* HOTKEY_CLASS = (HOTKEY_CLASSA); +char* PROGRESS_CLASS = (PROGRESS_CLASSA); +char* STATUSCLASSNAME = (STATUSCLASSNAMEA); +char* TOOLBARCLASSNAME = (TOOLBARCLASSNAMEA); +char* TOOLTIPS_CLASS = (TOOLTIPS_CLASSA); +char* TRACKBAR_CLASS = (TRACKBAR_CLASSA); +char* UPDOWN_CLASS = (UPDOWN_CLASSA); +char* WC_HEADER = (WC_HEADERA); +char* WC_LISTVIEW = (WC_LISTVIEWA); +char* WC_TABCONTROL = (WC_TABCONTROLA); +char* WC_TREEVIEW = (WC_TREEVIEWA); +} +enum : DWORD { + HDS_BUTTONS = (2), + HDS_HIDDEN = (8), + HDS_HORZ = (0), + HDI_BITMAP = (16), + HDI_FORMAT = (4), + HDI_HEIGHT = (1), + HDI_LPARAM = (8), + HDI_TEXT = (2), + HDI_WIDTH = (1), + HDF_CENTER = (2), + HDF_LEFT = (0), + HDF_RIGHT = (1), + HDF_RTLREADING = (4), + HDF_BITMAP = (8192), + HDF_OWNERDRAW = (32768), + HDF_STRING = (16384), + HDF_JUSTIFYMASK = (3), + HHT_NOWHERE = (1), + HHT_ONDIVIDER = (4), + HHT_ONDIVOPEN = (8), + HHT_ONHEADER = (2), + HHT_TOLEFT = (2048), + HHT_TORIGHT = (1024), + HINST_COMMCTRL = -(1), + IDB_STD_LARGE_COLOR = (1), + IDB_STD_SMALL_COLOR = (0), + IDB_VIEW_LARGE_COLOR = (5), + IDB_VIEW_SMALL_COLOR = (4), + STD_COPY = (1), + STD_CUT = (0), + STD_DELETE = (5), + STD_FILENEW = (6), + STD_FILEOPEN = (7), + STD_FILESAVE = (8), + STD_FIND = (12), + STD_HELP = (11), + STD_PASTE = (2), + STD_PRINT = (14), + STD_PRINTPRE = (9), + STD_PROPERTIES = (10), + STD_REDOW = (4), + STD_REPLACE = (13), + STD_UNDO = (3), + VIEW_LARGEICONS = (0), + VIEW_SMALLICONS = (1), + VIEW_LIST = (2), + VIEW_DETAILS = (3), + VIEW_SORTNAME = (4), + VIEW_SORTSIZE = (5), + VIEW_SORTDATE = (6), + VIEW_SORTTYPE = (7), + TBSTYLE_ALTDRAG = (1024), + TBSTYLE_TOOLTIPS = (256), + TBSTYLE_WRAPABLE = (512), + TBSTYLE_BUTTON = (0), + TBSTYLE_CHECK = (2), + TBSTYLE_CHECKGROUP = (6), + TBSTYLE_GROUP = (4), + TBSTYLE_SEP = (1), + TBSTATE_CHECKED = (1), + TBSTATE_ENABLED = (4), + TBSTATE_HIDDEN = (8), + TBSTATE_INDETERMINATE = (16), + TBSTATE_PRESSED = (2), + TBSTATE_WRAP = (32), + TTS_ALWAYSTIP = (1), + TTS_NOPREFIX = (2), + TTF_IDISHWND = (1), + TTF_CENTERTIP = (2), + TTF_RTLREADING = (4), + TTF_SUBCLASS = (16), + TTDT_AUTOMATIC = (0), + TTDT_AUTOPOP = (2), + TTDT_INITIAL = (3), + TTDT_RESHOW = (1), + SBARS_SIZEGRIP = (256), + DL_MOVECURSOR = (3), + DL_COPYCURSOR = (2), + DL_STOPCURSOR = (1), + UDS_ALIGNLEFT = (8), + UDS_ALIGNRIGHT = (4), + UDS_ARROWKEYS = (32), + UDS_AUTOBUDDY = (16), + UDS_HORZ = (64), + UDS_NOTHOUSANDS = (128), + UDS_SETBUDDYINT = (2), + UDS_WRAP = (1), + UD_MAXVAL = (32767), + UD_MINVAL = -((32767)), + HOTKEYF_ALT = (4), + HOTKEYF_CONTROL = (2), + HOTKEYF_EXT = (8), + HOTKEYF_SHIFT = (1), + HKCOMB_A = (8), + HKCOMB_C = (4), + HKCOMB_CA = (64), + HKCOMB_NONE = (1), + HKCOMB_S = (2), + HKCOMB_SA = (32), + HKCOMB_SC = (16), + HKCOMB_SCA = (128), + TBS_HORZ = (0), + TBS_VERT = (2), + TBS_AUTOTICKS = (1), + TBS_NOTICKS = (16), + TBS_TOP = (4), + TBS_BOTTOM = (0), + TBS_LEFT = (4), + TBS_RIGHT = (0), + TBS_BOTH = (8), + TBS_ENABLESELRANGE = (32), + TBS_FIXEDLENGTH = (64), + TBS_NOTHUMB = (128), + TB_BOTTOM = (7), + TB_ENDTRACK = (8), + TB_LINEDOWN = (1), + TB_LINEUP = (0), + TB_PAGEDOWN = (3), + TB_PAGEUP = (2), + TB_THUMBPOSITION = (4), + TB_THUMBTRACK = (5), + TB_TOP = (6), + LVS_ALIGNLEFT = (2048), + LVS_ALIGNTOP = (0), + LVS_AUTOARRANGE = (256), + LVS_EDITLABELS = (512), + LVS_ICON = (0), + LVS_LIST = (3), + LVS_NOCOLUMNHEADER = (16384), + LVS_NOLABELWRAP = (128), + LVS_NOSCROLL = (8192), + LVS_NOSORTHEADER = (32768), + LVS_OWNERDRAWFIXED = (1024), + LVS_REPORT = (1), + LVS_SHAREIMAGELISTS = (64), + LVS_SHOWSELALWAYS = (8), + LVS_SINGLESEL = (4), + LVS_SMALLICON = (2), + LVS_SORTASCENDING = (16), + LVS_SORTDESCENDING = (32), + LVS_TYPESTYLEMASK = (64512), + LVSIL_NORMAL = (0), + LVSIL_SMALL = (1), + LVSIL_STATE = (2), + LVIS_CUT = (4), + LVIS_DROPHILITED = (8), + LVIS_FOCUSED = (1), + LVIS_SELECTED = (2), + LVIS_OVERLAYMASK = (3840), + LVIS_STATEIMAGEMASK = (61440), +} +const { + LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR)(-(1)); + LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR)(-(1)); + version(Win32SansUnicode){ + alias LPSTR_TEXTCALLBACKA LPSTR_TEXTCALLBACK; + } + else{ + alias LPSTR_TEXTCALLBACKW LPSTR_TEXTCALLBACK; + } +} +enum : DWORD { + LVIF_TEXT = (1), + LVIF_IMAGE = (2), + LVIF_PARAM = (4), + LVIF_STATE = (8), + LVIF_DI_SETITEM = (4096), + LVNI_ABOVE = (256), + LVNI_ALL = (0), + LVNI_BELOW = (512), + LVNI_TOLEFT = (1024), + LVNI_TORIGHT = (2048), + LVNI_CUT = (4), + LVNI_DROPHILITED = (8), + LVNI_FOCUSED = (1), + LVNI_SELECTED = (2), + LVFI_PARAM = (1), + LVFI_PARTIAL = (8), + LVFI_STRING = (2), + LVFI_WRAP = (32), + LVFI_NEARESTXY = (64), + LVHT_ABOVE = (8), + LVHT_BELOW = (16), + LVHT_NOWHERE = (1), + LVHT_ONITEMICON = (2), + LVHT_ONITEMLABEL = (4), + LVHT_ONITEMSTATEICON = (8), + LVHT_TOLEFT = (64), + LVHT_TORIGHT = (32), + LVCF_FMT = (1), + LVCF_SUBITEM = (8), + LVCF_TEXT = (4), + LVCF_WIDTH = (2), + LVCFMT_CENTER = (2), + LVCFMT_LEFT = (0), + LVCFMT_RIGHT = (1), + LVIR_BOUNDS = (0), + LVIR_ICON = (1), + LVIR_LABEL = (2), + LVIR_SELECTBOUNDS = (3), + LVA_ALIGNLEFT = (1), + LVA_ALIGNTOP = (2), + LVA_DEFAULT = (0), + LVA_SNAPTOGRID = (5), + LVSCW_AUTOSIZE = -((1)), + LVSCW_AUTOSIZE_USEHEADER = -((2)), + TVS_DISABLEDRAGDROP = (16), + TVS_EDITLABELS = (8), + TVS_HASBUTTONS = (1), + TVS_HASLINES = (2), + TVS_LINESATROOT = (4), + TVS_SHOWSELALWAYS = (32), + TVIS_BOLD = (16), + TVIS_CUT = (4), + TVIS_DROPHILITED = (8), + TVIS_EXPANDED = (32), + TVIS_EXPANDEDONCE = (64), + TVIS_FOCUSED = (1), + TVIS_OVERLAYMASK = (3840), + TVIS_SELECTED = (2), + TVIS_STATEIMAGEMASK = (61440), + TVIS_USERMASK = (61440), + TVIF_CHILDREN = (64), + TVIF_HANDLE = (16), + TVIF_IMAGE = (2), + TVIF_PARAM = (4), + TVIF_SELECTEDIMAGE = (32), + TVIF_STATE = (8), + TVIF_TEXT = (1), + I_CHILDRENCALLBACK = -((1)), + I_IMAGECALLBACK = -((1)), +} + +struct TREEITEM +{ +} + +alias TREEITEM* HTREEITEM; +alias TREEITEM TTREEITEM; +alias TREEITEM* PTREEITEM; +enum : DWORD { + TVI_ROOT = (0xFFFF0000), + TVI_FIRST = (0xFFFF0001), + TVI_LAST = (0xFFFF0002), + TVI_SORT = (0xFFFF0003), + TVHT_ABOVE = (256), + TVHT_BELOW = (512), + TVHT_NOWHERE = (1), + TVHT_ONITEM = (70), + TVHT_ONITEMBUTTON = (16), + TVHT_ONITEMICON = (2), + TVHT_ONITEMINDENT = (8), + TVHT_ONITEMLABEL = (4), + TVHT_ONITEMRIGHT = (32), + TVHT_ONITEMSTATEICON = (64), + TVHT_TOLEFT = (2048), + TVHT_TORIGHT = (1024), + TVE_COLLAPSE = (1), + TVE_COLLAPSERESET = (32768), + TVE_EXPAND = (2), + TVE_TOGGLE = (3), + TVSIL_NORMAL = (0), + TVSIL_STATE = (2), + TVGN_CARET = (9), + TVGN_CHILD = (4), + TVGN_DROPHILITE = (8), + TVGN_FIRSTVISIBLE = (5), + TVGN_NEXT = (1), + TVGN_NEXTVISIBLE = (6), + TVGN_PARENT = (3), + TVGN_PREVIOUS = (2), + TVGN_PREVIOUSVISIBLE = (7), + TVGN_ROOT = (0), + TVC_BYKEYBOARD = (2), + TVC_BYMOUSE = (1), + TVC_UNKNOWN = (0), + TCS_BUTTONS = (256), + TCS_FIXEDWIDTH = (1024), + TCS_FOCUSNEVER = (32768), + TCS_FOCUSONBUTTONDOWN = (4096), + TCS_FORCEICONLEFT = (16), + TCS_FORCELABELLEFT = (32), + TCS_MULTILINE = (512), + TCS_OWNERDRAWFIXED = (8192), + TCS_RAGGEDRIGHT = (2048), + TCS_RIGHTJUSTIFY = (0), + TCS_SINGLELINE = (0), + TCS_TABS = (0), + TCS_TOOLTIPS = (16384), + TCIF_TEXT = (1), + TCIF_IMAGE = (2), + TCIF_PARAM = (8), + TCIF_RTLREADING = (4), + TCHT_NOWHERE = (1), + TCHT_ONITEM = (6), + TCHT_ONITEMICON = (2), + TCHT_ONITEMLABEL = (4), + ACS_AUTOPLAY = (4), + ACS_CENTER = (1), + ACS_TRANSPARENT = (2), + DIALOPTION_BILLING = (64), + DIALOPTION_QUIET = (128), + DIALOPTION_DIALTONE = (256), + MDMVOLFLAG_LOW = (1), + MDMVOLFLAG_MEDIUM = (2), + MDMVOLFLAG_HIGH = (4), + MDMVOL_LOW = (0), + MDMVOL_MEDIUM = (1), + MDMVOL_HIGH = (2), + MDMSPKRFLAG_OFF = (1), + MDMSPKRFLAG_DIAL = (2), + MDMSPKRFLAG_ON = (4), + MDMSPKRFLAG_CALLSETUP = (8), + MDMSPKR_OFF = (0), + MDMSPKR_DIAL = (1), + MDMSPKR_ON = (2), + MDMSPKR_CALLSETUP = (3), + MDM_BLIND_DIAL = (512), + MDM_CCITT_OVERRIDE = (64), + MDM_CELLULAR = (8), + MDM_COMPRESSION = (1), + MDM_ERROR_CONTROL = (2), + MDM_FLOWCONTROL_HARD = (16), + MDM_FLOWCONTROL_SOFT = (32), + MDM_FORCED_EC = (4), + MDM_SPEED_ADJUST = (128), + MDM_TONE_DIAL = (256), + MDM_V23_OVERRIDE = (1024), + LANG_BULGARIAN = (2), + LANG_CHINESE = (4), + LANG_CROATIAN = (26), + LANG_CZECH = (5), + LANG_DANISH = (6), + LANG_DUTCH = (19), + LANG_ENGLISH = (9), + LANG_FINNISH = (11), + LANG_FRENCH = (12), + LANG_GERMAN = (7), + LANG_GREEK = (8), + LANG_HUNGARIAN = (14), + LANG_ICELANDIC = (15), + LANG_ITALIAN = (16), + LANG_JAPANESE = (17), + LANG_KOREAN = (18), + LANG_NEUTRAL = (0), + LANG_NORWEGIAN = (20), + LANG_POLISH = (21), + LANG_PORTUGUESE = (22), + LANG_ROMANIAN = (24), + LANG_RUSSIAN = (25), + LANG_SLOVAK = (27), + LANG_SLOVENIAN = (36), + LANG_SPANISH = (10), + LANG_SWEDISH = (29), + LANG_TURKISH = (31), + SUBLANG_CHINESE_SIMPLIFIED = (2), + SUBLANG_CHINESE_TRADITIONAL = (1), + SUBLANG_CHINESE_HONGKONG = (3), + SUBLANG_CHINESE_SINGAPORE = (4), + SUBLANG_DEFAULT = (1), + SUBLANG_DUTCH = (1), + SUBLANG_DUTCH_BELGIAN = (2), + SUBLANG_ENGLISH_AUS = (3), + SUBLANG_ENGLISH_CAN = (4), + SUBLANG_ENGLISH_EIRE = (6), + SUBLANG_ENGLISH_NZ = (5), + SUBLANG_ENGLISH_UK = (2), + SUBLANG_ENGLISH_US = (1), + SUBLANG_FRENCH = (1), + SUBLANG_FRENCH_BELGIAN = (2), + SUBLANG_FRENCH_CANADIAN = (3), + SUBLANG_FRENCH_SWISS = (4), + SUBLANG_GERMAN = (1), + SUBLANG_GERMAN_AUSTRIAN = (3), + SUBLANG_GERMAN_SWISS = (2), + SUBLANG_ITALIAN = (1), + SUBLANG_ITALIAN_SWISS = (2), + SUBLANG_NEUTRAL = (0), + SUBLANG_NORWEGIAN_BOKMAL = (1), + SUBLANG_NORWEGIAN_NYNORSK = (2), + SUBLANG_PORTUGUESE = (2), + SUBLANG_PORTUGUESE_BRAZILIAN = (1), + SUBLANG_SPANISH = (1), + SUBLANG_SPANISH_MEXICAN = (2), + SUBLANG_SPANISH_MODERN = (3), + SUBLANG_SYS_DEFAULT = (2), + NLS_VALID_LOCALE_MASK = (1048575), + SORT_DEFAULT = (0), + SORT_JAPANESE_XJIS = (0), + SORT_JAPANESE_UNICODE = (1), + SORT_CHINESE_BIG5 = (0), + SORT_CHINESE_UNICODE = (1), + SORT_KOREAN_KSC = (0), + SORT_KOREAN_UNICODE = (1), + PROCESSOR_INTEL_386 = (386), + PROCESSOR_INTEL_486 = (486), + PROCESSOR_INTEL_PENTIUM = (586), + PROCESSOR_MIPS_R4000 = (4000), + PROCESSOR_ALPHA_21064 = (21064), + COMPRESSION_FORMAT_NONE = (0), + COMPRESSION_FORMAT_DEFAULT = (1), + COMPRESSION_FORMAT_LZNT1 = (2), + TAPE_DRIVE_COMPRESSION = (131072), + TAPE_DRIVE_ECC = (65536), + TAPE_DRIVE_ERASE_BOP_ONLY = (64), + TAPE_DRIVE_ERASE_LONG = (32), + TAPE_DRIVE_ERASE_IMMEDIATE = (128), + TAPE_DRIVE_ERASE_SHORT = (16), + TAPE_DRIVE_FIXED = (1), + TAPE_DRIVE_FIXED_BLOCK = (1024), + TAPE_DRIVE_INITIATOR = (4), + TAPE_DRIVE_PADDING = (262144), + TAPE_DRIVE_GET_ABSOLUTE_BLK = (1048576), + TAPE_DRIVE_GET_LOGICAL_BLK = (2097152), + TAPE_DRIVE_REPORT_SMKS = (524288), + TAPE_DRIVE_SELECT = (2), + TAPE_DRIVE_SET_EOT_WZ_SIZE = (4194304), + TAPE_DRIVE_TAPE_CAPACITY = (256), + TAPE_DRIVE_TAPE_REMAINING = (512), + TAPE_DRIVE_VARIABLE_BLOCK = (2048), + TAPE_DRIVE_WRITE_PROTECT = (4096), + TAPE_DRIVE_ABS_BLK_IMMED = -((2147475456)), + TAPE_DRIVE_ABSOLUTE_BLK = -((2147479552)), + TAPE_DRIVE_END_OF_DATA = -((2147418112)), + TAPE_DRIVE_FILEMARKS = -((2147221504)), + TAPE_DRIVE_LOAD_UNLOAD = -((2147483647)), + TAPE_DRIVE_LOAD_UNLD_IMMED = -((2147483616)), + TAPE_DRIVE_LOCK_UNLOCK = -((2147483644)), + TAPE_DRIVE_LOCK_UNLK_IMMED = -((2147483520)), + TAPE_DRIVE_LOG_BLK_IMMED = -((2147450880)), + TAPE_DRIVE_LOGICAL_BLK = -((2147467264)), + TAPE_DRIVE_RELATIVE_BLKS = -((2147352576)), + TAPE_DRIVE_REVERSE_POSITION = -((2143289344)), + TAPE_DRIVE_REWIND_IMMEDIATE = -((2147483640)), + TAPE_DRIVE_SEQUENTIAL_FMKS = -((2146959360)), + TAPE_DRIVE_SEQUENTIAL_SMKS = -((2145386496)), + TAPE_DRIVE_SET_BLOCK_SIZE = -((2147483632)), + TAPE_DRIVE_SET_COMPRESSION = -((2147483136)), + TAPE_DRIVE_SET_ECC = -((2147483392)), + TAPE_DRIVE_SET_PADDING = -((2147482624)), + TAPE_DRIVE_SET_REPORT_SMKS = -((2147481600)), + TAPE_DRIVE_SETMARKS = -((2146435072)), + TAPE_DRIVE_SPACE_IMMEDIATE = -((2139095040)), + TAPE_DRIVE_TENSION = -((2147483646)), + TAPE_DRIVE_TENSION_IMMED = -((2147483584)), + TAPE_DRIVE_WRITE_FILEMARKS = -((2113929216)), + TAPE_DRIVE_WRITE_LONG_FMKS = -((2013265920)), + TAPE_DRIVE_WRITE_MARK_IMMED = -((1879048192)), + TAPE_DRIVE_WRITE_SETMARKS = -((2130706432)), + TAPE_DRIVE_WRITE_SHORT_FMKS = -((2080374784)), + STANDARD_RIGHTS_REQUIRED = (0xf0000), + STANDARD_RIGHTS_WRITE = (0x20000), + STANDARD_RIGHTS_READ = (0x20000), + STANDARD_RIGHTS_EXECUTE = (0x20000), + STANDARD_RIGHTS_ALL = (0x1f0000), + SPECIFIC_RIGHTS_ALL = (0xffff), + MAXIMUM_ALLOWED = (0x2000000), + GENERIC_ALL = (0x10000000), + SECURITY_NULL_RID = (0), + SECURITY_WORLD_RID = (0), + SECURITY_LOCAL_RID = (0), + SECURITY_CREATOR_OWNER_RID = (0), + SECURITY_CREATOR_GROUP_RID = (0x1), + SECURITY_DIALUP_RID = (0x1), + SECURITY_NETWORK_RID = (0x2), + SECURITY_BATCH_RID = (0x3), + SECURITY_INTERACTIVE_RID = (0x4), + SECURITY_LOGON_IDS_RID = (0x5), + SECURITY_LOGON_IDS_RID_COUNT = (0x3), + SECURITY_SERVICE_RID = (0x6), + SECURITY_LOCAL_SYSTEM_RID = (0x12), + SECURITY_BUILTIN_DOMAIN_RID = (0x20), + DOMAIN_USER_RID_ADMIN = (0x1f4), + DOMAIN_USER_RID_GUEST = (0x1f5), + DOMAIN_GROUP_RID_ADMINS = (0x200), + DOMAIN_GROUP_RID_USERS = (0x201), + DOMAIN_ALIAS_RID_ADMINS = (0x220), + DOMAIN_ALIAS_RID_USERS = (0x221), + DOMAIN_ALIAS_RID_GUESTS = (0x222), + DOMAIN_ALIAS_RID_POWER_USERS = (0x223), + DOMAIN_ALIAS_RID_ACCOUNT_OPS = (0x224), + DOMAIN_ALIAS_RID_SYSTEM_OPS = (0x225), + DOMAIN_ALIAS_RID_PRINT_OPS = (0x226), + DOMAIN_ALIAS_RID_BACKUP_OPS = (0x227), + DOMAIN_ALIAS_RID_REPLICATOR = (0x228), + SE_GROUP_MANDATORY = (0x1), + SE_GROUP_ENABLED_BY_DEFAULT = (0x2), + SE_GROUP_ENABLED = (0x4), + SE_GROUP_OWNER = (0x8), + SE_GROUP_LOGON_ID = (0xc0000000), + ACL_REVISION = (2), + ACCESS_ALLOWED_ACE_TYPE = (0x0), + ACCESS_DENIED_ACE_TYPE = (0x1), + SYSTEM_AUDIT_ACE_TYPE = (0x2), + SYSTEM_ALARM_ACE_TYPE = (0x3), + OBJECT_INHERIT_ACE = (0x1), + CONTAINER_INHERIT_ACE = (0x2), + NO_PROPAGATE_INHERIT_ACE = (0x4), + INHERIT_ONLY_ACE = (0x8), + SUCCESSFUL_ACCESS_ACE_FLAG = (0x40), + FAILED_ACCESS_ACE_FLAG = (0x80), + SECURITY_DESCRIPTOR_MIN_LENGTH = (20), + SE_OWNER_DEFAULTED = (1), + SE_GROUP_DEFAULTED = (2), + SE_DACL_PRESENT = (4), + SE_DACL_DEFAULTED = (8), + SE_SACL_PRESENT = (16), + SE_SACL_DEFAULTED = (32), + SE_SELF_RELATIVE = (32768), + SE_PRIVILEGE_ENABLED_BY_DEFAULT = (0x1), + SE_PRIVILEGE_ENABLED = (0x2), + SE_PRIVILEGE_USED_FOR_ACCESS = (0x80000000), + PRIVILEGE_SET_ALL_NECESSARY = (0x1), + OFN_ALLOWMULTISELECT = (0x200), + OFN_CREATEPROMPT = (0x2000), + OFN_ENABLEHOOK = (0x20), + OFN_ENABLETEMPLATE = (0x40), + OFN_ENABLETEMPLATEHANDLE = (0x80), + OFN_EXPLORER = (0x80000), + OFN_EXTENSIONDIFFERENT = (0x400), + OFN_FILEMUSTEXIST = (0x1000), + OFN_HIDEREADONLY = (0x4), + OFN_LONGNAMES = (0x200000), + OFN_NOCHANGEDIR = (0x8), + OFN_NODEREFERENCELINKS = (0x100000), + OFN_NOLONGNAMES = (0x40000), + OFN_NONETWORKBUTTON = (0x20000), + OFN_NOREADONLYRETURN = (0x8000), + OFN_NOTESTFILECREATE = (0x10000), + OFN_NOVALIDATE = (0x100), + OFN_OVERWRITEPROMPT = (0x2), + OFN_PATHMUSTEXIST = (0x800), + OFN_READONLY = (0x1), + OFN_SHAREAWARE = (0x4000), + OFN_SHOWHELP = (0x10), + OFN_SHAREFALLTHROUGH = (0x2), + OFN_SHARENOWARN = (0x1), + OFN_SHAREWARN = (0), + CDN_INITDONE = (0xfffffda7), + CDN_SELCHANGE = (0xfffffda6), + CDN_FOLDERCHANGE = (0xfffffda5), + CDN_SHAREVIOLATION = (0xfffffda4), + CDN_HELP = (0xfffffda3), + CDN_FILEOK = (0xfffffda2), + CDN_TYPECHANGE = (0xfffffda1), + CDM_GETFILEPATH = (0x465), + CDM_GETFOLDERIDLIST = (0x467), + CDM_GETFOLDERPATH = (0x466), + CDM_GETSPEC = (0x464), + CDM_HIDECONTROL = (0x469), + CDM_SETCONTROLTEXT = (0x468), + CDM_SETDEFEXT = (0x46a), + CC_ENABLEHOOK = (0x10), + CC_ENABLETEMPLATE = (0x20), + CC_ENABLETEMPLATEHANDLE = (0x40), + CC_FULLOPEN = (0x2), + CC_PREVENTFULLOPEN = (0x4), + CC_RGBINIT = (0x1), + CC_SHOWHELP = (0x8), + CC_SOLIDCOLOR = (0x80), + FR_DIALOGTERM = (0x40), + FR_DOWN = (0x1), + FR_ENABLEHOOK = (0x100), + FR_ENABLETEMPLATE = (0x200), + FR_ENABLETEMPLATEHANDLE = (0x2000), + FR_FINDNEXT = (0x8), + FR_HIDEUPDOWN = (0x4000), + FR_HIDEMATCHCASE = (0x8000), + FR_HIDEWHOLEWORD = (0x10000), + FR_MATCHCASE = (0x4), + FR_NOMATCHCASE = (0x800), + FR_NOUPDOWN = (0x400), + FR_NOWHOLEWORD = (0x1000), + FR_REPLACE = (0x10), + FR_REPLACEALL = (0x20), + FR_SHOWHELP = (0x80), + FR_WHOLEWORD = (0x2), + CF_APPLY = (0x200), + CF_ANSIONLY = (0x400), + CF_BOTH = (0x3), + CF_TTONLY = (0x40000), + CF_EFFECTS = (0x100), + CF_ENABLEHOOK = (0x8), + CF_ENABLETEMPLATE = (0x10), + CF_ENABLETEMPLATEHANDLE = (0x20), + CF_FIXEDPITCHONLY = (0x4000), + CF_FORCEFONTEXIST = (0x10000), + CF_INITTOLOGFONTSTRUCT = (0x40), + CF_LIMITSIZE = (0x2000), + CF_NOOEMFONTS = (0x800), + CF_NOFACESEL = (0x80000), + CF_NOSCRIPTSEL = (0x800000), + CF_NOSTYLESEL = (0x100000), + CF_NOSIZESEL = (0x200000), + CF_NOSIMULATIONS = (0x1000), + CF_NOVECTORFONTS = (0x800), + CF_NOVERTFONTS = (0x1000000), + CF_PRINTERFONTS = (0x2), + CF_SCALABLEONLY = (0x20000), + CF_SCREENFONTS = (0x1), + CF_SCRIPTSONLY = (0x400), + CF_SELECTSCRIPT = (0x400000), + CF_SHOWHELP = (0x4), + CF_USESTYLE = (0x80), + CF_WYSIWYG = (0x8000), + BOLD_FONTTYPE = (0x100), + ITALIC_FONTTYPE = (0x200), + PRINTER_FONTTYPE = (0x4000), + REGULAR_FONTTYPE = (0x400), + SCREEN_FONTTYPE = (0x2000), + SIMULATED_FONTTYPE = (0x8000), +} +const { +char* COLOROKSTRINGW = ("commdlg_ColorOK"); +char* FILEOKSTRINGW = ("commdlg_FileNameOK"); +char* FINDMSGSTRINGW = ("commdlg_FindReplace"); +char* HELPMSGSTRINGW = ("commdlg_help"); +char* LBSELCHSTRINGW = ("commdlg_LBSelChangedNotify"); +char* SETRGBSTRINGW = ("commdlg_SetRGBColor"); +char* SHAREVISTRINGW = ("commdlg_ShareViolation"); +char* COLOROKSTRINGA = ("commdlg_ColorOK"); +char* FILEOKSTRINGA = ("commdlg_FileNameOK"); +char* FINDMSGSTRINGA = ("commdlg_FindReplace"); +char* HELPMSGSTRINGA = ("commdlg_help"); +char* LBSELCHSTRINGA = ("commdlg_LBSelChangedNotify"); +char* SETRGBSTRINGA = ("commdlg_SetRGBColor"); +char* SHAREVISTRINGA = ("commdlg_ShareViolation"); +char* COLOROKSTRING = (COLOROKSTRINGA); +char* FILEOKSTRING = (FILEOKSTRINGA); +char* FINDMSGSTRING = (FINDMSGSTRINGA); +char* HELPMSGSTRING = (HELPMSGSTRINGA); +char* LBSELCHSTRING = (LBSELCHSTRINGA); +char* SETRGBSTRING = (SETRGBSTRINGA); +char* SHAREVISTRING = (SHAREVISTRINGA); +} + +const { +HWND HWND_DESKTOP = cast(HWND) 0; +HWND HWND_BOTTOM = cast(HWND) 1; +HWND HWND_NOTOPMOST = cast(HWND) -2; +HWND HWND_TOP = cast(HWND) 0; +HWND HWND_TOPMOST = cast(HWND) -1; +HWND HWND_BROADCAST = cast(HWND) 0xFFFF; +} + +enum : DWORD { + CD_LBSELCHANGE = (0), + CD_LBSELADD = (2), + CD_LBSELSUB = (1), + CD_LBSELNOITEMS = -((1)), + DN_DEFAULTPRN = (1), + PD_ALLPAGES = (0), + PD_COLLATE = (16), + PD_DISABLEPRINTTOFILE = (524288), + PD_ENABLEPRINTHOOK = (4096), + PD_ENABLEPRINTTEMPLATE = (16384), + PD_ENABLEPRINTTEMPLATEHANDLE = (65536), + PD_ENABLESETUPHOOK = (8192), + PD_ENABLESETUPTEMPLATE = (32768), + PD_ENABLESETUPTEMPLATEHANDLE = (131072), + PD_HIDEPRINTTOFILE = (1048576), + PD_NOPAGENUMS = (8), + PD_NOSELECTION = (4), + PD_NOWARNING = (128), + PD_PAGENUMS = (2), + PD_PRINTSETUP = (64), + PD_PRINTTOFILE = (32), + PD_RETURNDC = (256), + PD_RETURNDEFAULT = (1024), + PD_RETURNIC = (512), + PD_SELECTION = (1), + PD_SHOWHELP = (2048), + PD_USEDEVMODECOPIES = (262144), + PD_USEDEVMODECOPIESANDCOLLATE = (262144), + PSD_DEFAULTMINMARGINS = (0), + PSD_DISABLEMARGINS = (16), + PSD_DISABLEORIENTATION = (256), + PSD_DISABLEPAGEPAINTING = (524288), + PSD_DISABLEPAPER = (512), + PSD_DISABLEPRINTER = (32), + PSD_ENABLEPAGEPAINTHOOK = (262144), + PSD_ENABLEPAGESETUPHOOK = (8192), + PSD_ENABLEPAGESETUPTEMPLATE = (32768), + PSD_ENABLEPAGESETUPTEMPLATEHANDLE = (131072), + PSD_INHUNDREDTHSOFMILLIMETERS = (8), + PSD_INTHOUSANDTHSOFINCHES = (4), + PSD_INWININIINTLMEASURE = (0), + PSD_MARGINS = (2), + PSD_MINMARGINS = (1), + PSD_NOWARNING = (128), + PSD_RETURNDEFAULT = (1024), + PSD_SHOWHELP = (2048), + SW_OTHERUNZOOM = (4), + SW_OTHERZOOM = (2), + SW_PARENTCLOSING = (1), + SW_PARENTOPENING = (3), + VK_LBUTTON = (1), + VK_RBUTTON = (2), + VK_CANCEL = (3), + VK_MBUTTON = (4), + VK_BACK = (8), + VK_TAB = (9), + VK_CLEAR = (12), + VK_RETURN = (13), + VK_SHIFT = (16), + VK_CONTROL = (17), + VK_MENU = (18), + VK_PAUSE = (19), + VK_CAPITAL = (20), + VK_ESCAPE = (27), + VK_SPACE = (32), + VK_PRIOR = (33), + VK_NEXT = (34), + VK_END = (35), + VK_HOME = (36), + VK_LEFT = (37), + VK_UP = (38), + VK_RIGHT = (39), + VK_DOWN = (40), + VK_SELECT = (41), + VK_PRINT = (42), + VK_EXECUTE = (43), + VK_SNAPSHOT = (44), + VK_INSERT = (45), + VK_DELETE = (46), + VK_HELP = (47), + VK_0 = (48), + VK_1 = (49), + VK_2 = (50), + VK_3 = (51), + VK_4 = (52), + VK_5 = (53), + VK_6 = (54), + VK_7 = (55), + VK_8 = (56), + VK_9 = (57), + VK_A = (65), + VK_B = (66), + VK_C = (67), + VK_D = (68), + VK_E = (69), + VK_F = (70), + VK_G = (71), + VK_H = (72), + VK_I = (73), + VK_J = (74), + VK_K = (75), + VK_L = (76), + VK_M = (77), + VK_N = (78), + VK_O = (79), + VK_P = (80), + VK_Q = (81), + VK_R = (82), + VK_S = (83), + VK_T = (84), + VK_U = (85), + VK_V = (86), + VK_W = (87), + VK_X = (88), + VK_Y = (89), + VK_Z = (90), + VK_NUMPAD0 = (96), + VK_NUMPAD1 = (97), + VK_NUMPAD2 = (98), + VK_NUMPAD3 = (99), + VK_NUMPAD4 = (100), + VK_NUMPAD5 = (101), + VK_NUMPAD6 = (102), + VK_NUMPAD7 = (103), + VK_NUMPAD8 = (104), + VK_NUMPAD9 = (105), + VK_MULTIPLY = (106), + VK_ADD = (107), + VK_SEPARATOR = (108), + VK_SUBTRACT = (109), + VK_DECIMAL = (110), + VK_DIVIDE = (111), + VK_F1 = (112), + VK_F2 = (113), + VK_F3 = (114), + VK_F4 = (115), + VK_F5 = (116), + VK_F6 = (117), + VK_F7 = (118), + VK_F8 = (119), + VK_F9 = (120), + VK_F10 = (121), + VK_F11 = (122), + VK_F12 = (123), + VK_F13 = (124), + VK_F14 = (125), + VK_F15 = (126), + VK_F16 = (127), + VK_F17 = (128), + VK_F18 = (129), + VK_F19 = (130), + VK_F20 = (131), + VK_F21 = (132), + VK_F22 = (133), + VK_F23 = (134), + VK_F24 = (135), + VK_NUMLOCK = (144), + VK_SCROLL = (145), + VK_LSHIFT = (160), + VK_LCONTROL = (162), + VK_LMENU = (164), + VK_RSHIFT = (161), + VK_RCONTROL = (163), + VK_RMENU = (165), + VK_PROCESSKEY = (229), + KF_ALTDOWN = (8192), + KF_DLGMODE = (2048), + KF_EXTENDED = (256), + KF_MENUMODE = (4096), + KF_REPEAT = (16384), + KF_UP = (32768), + KL_NAMELENGTH = (9), + WA_ACTIVE = (1), + WA_CLICKACTIVE = (2), + WA_INACTIVE = (0), + PWR_CRITICALRESUME = (3), + PWR_SUSPENDREQUEST = (1), + PWR_SUSPENDRESUME = (2), + PWR_FAIL = -((1)), + PWR_OK = (1), + NF_QUERY = (3), + NF_REQUERY = (4), + NFR_ANSI = (1), + NFR_UNICODE = (2), + WMSZ_BOTTOM = (6), + WMSZ_BOTTOMLEFT = (7), + WMSZ_BOTTOMRIGHT = (8), + WMSZ_LEFT = (1), + WMSZ_RIGHT = (2), + WMSZ_TOP = (3), + WMSZ_TOPLEFT = (4), + WMSZ_TOPRIGHT = (5), + MA_ACTIVATE = (1), + MA_ACTIVATEANDEAT = (2), + MA_NOACTIVATE = (3), + MA_NOACTIVATEANDEAT = (4), + SIZE_MAXHIDE = (4), + SIZE_MAXIMIZED = (2), + SIZE_MAXSHOW = (3), + SIZE_MINIMIZED = (1), + SIZE_RESTORED = (0), + WVR_ALIGNTOP = (16), + WVR_ALIGNLEFT = (32), + WVR_ALIGNBOTTOM = (64), + WVR_ALIGNRIGHT = (128), + WVR_HREDRAW = (256), + WVR_VREDRAW = (512), + WVR_REDRAW = (768), + WVR_VALIDRECTS = (1024), + HTBOTTOM = (15), + HTBOTTOMLEFT = (16), + HTBOTTOMRIGHT = (17), + HTCAPTION = (2), + HTCLIENT = (1), + HTERROR = -((2)), + HTGROWBOX = (4), + HTHSCROLL = (6), + HTLEFT = (10), + HTMENU = (5), + HTNOWHERE = (0), + HTREDUCE = (8), + HTRIGHT = (11), + HTSIZE = (4), + HTSYSMENU = (3), + HTTOP = (12), + HTTOPLEFT = (13), + HTTOPRIGHT = (14), + HTTRANSPARENT = -((1)), + HTVSCROLL = (7), + HTZOOM = (9), + MK_CONTROL = (8), + MK_LBUTTON = (1), + MK_MBUTTON = (16), + MK_RBUTTON = (2), + MK_SHIFT = (4), + CS_BYTEALIGNCLIENT = (4096), + CS_BYTEALIGNWINDOW = (8192), + CS_CLASSDC = (64), + CS_DBLCLKS = (8), + CS_GLOBALCLASS = (16384), + CS_HREDRAW = (2), + CS_KEYCVTWINDOW = (4), + CS_NOCLOSE = (512), + CS_NOKEYCVT = (256), + CS_OWNDC = (32), + CS_PARENTDC = (128), + CS_SAVEBITS = (2048), + CS_VREDRAW = (1), + DLGWINDOWEXTRA = (30), + FALT = (16), + FCONTROL = (8), + FNOINVERT = (2), + FSHIFT = (4), + FVIRTKEY = (1), + MIIM_CHECKMARKS = (8), + MIIM_DATA = (32), + MIIM_ID = (2), + MIIM_STATE = (1), + MIIM_SUBMENU = (4), + MIIM_TYPE = (16), + MFT_BITMAP = (0x4), + MFT_MENUBARBREAK = (0x20), + MFT_MENUBREAK = (0x40), + MFT_OWNERDRAW = (0x100), + MFT_RADIOCHECK = (0x200), + MFT_RIGHTJUSTIFY = (0x4000), + MFT_SEPARATOR = (0x800), + MFT_STRING = (0), + MFS_CHECKED = (0x8), + MFS_DEFAULT = (0x1000), + MFS_DISABLED = (0x3), + MFS_ENABLED = (0), + MFS_GRAYED = (0x3), + MFS_HILITE = (0x80), + MFS_UNCHECKED = (0), + MFS_UNHILITE = (0), + SERKF_AVAILABLE = (2), + SERKF_INDICATOR = (4), + SERKF_SERIALKEYSON = (1), + FKF_AVAILABLE = (2), + FKF_CLICKON = (64), + FKF_FILTERKEYSON = (1), + FKF_HOTKEYACTIVE = (4), + FKF_HOTKEYSOUND = (16), + FKF_CONFIRMHOTKEY = (8), + FKF_INDICATOR = (32), + HELPINFO_MENUITEM = (2), + HELPINFO_WINDOW = (1), + PRF_CHECKVISIBLE = (0x1), + PRF_CHILDREN = (0x10), + PRF_CLIENT = (0x4), + PRF_ERASEBKGND = (0x8), + PRF_NONCLIENT = (0x2), + PRF_OWNED = (0x20), + SC_CLOSE = (61536), + SC___FILE__HELP = (61824), + SC_DEFAULT = (61792), + SC_HOTKEY = (61776), + SC_HSCROLL = (61568), + SC_KEYMENU = (61696), + SC_MAXIMIZE = (61488), + SC_ZOOM = (61488), + SC_MINIMIZE = (61472), + SC_ICON = (61472), + SC_MONITORPOWER = (61808), + SC_MOUSEMENU = (61584), + SC_MOVE = (61456), + SC_NEXTWINDOW = (61504), + SC_PREVWINDOW = (61520), + SC_RESTORE = (61728), + SC_SCREENSAVE = (61760), + SC_SIZE = (61440), + SC_TASKLIST = (61744), + SC_VSCROLL = (61552), + DC_HASDEFID = (21323), + DLGC_BUTTON = (8192), + DLGC_DEFPUSHBUTTON = (16), + DLGC_HASSETSEL = (8), + DLGC_RADIOBUTTON = (64), + DLGC_STATIC = (256), + DLGC_UNDEFPUSHBUTTON = (32), + DLGC_WANTALLKEYS = (4), + DLGC_WANTARROWS = (1), + DLGC_WANTCHARS = (128), + DLGC_WANTMESSAGE = (4), + DLGC_WANTTAB = (2), + EC_LEFTMARGIN = (1), + EC_RIGHTMARGIN = (2), + EC_USEFONTINFO = (65535), + LB_ERR = -((1)), + LB_ERRSPACE = -((2)), + LB_OKAY = (0), + CB_ERR = -((1)), + CB_ERRSPACE = -((2)), + IMC_GETCANDIDATEPOS = (7), + IMC_GETCOMPOSITIONFONT = (9), + IMC_GETCOMPOSITIONWINDOW = (11), + IMC_GETSTATUSWINDOWPOS = (15), + IMC_CLOSESTATUSWINDOW = (33), + IMC_OPENSTATUSWINDOW = (34), + IMC_SETCANDIDATEPOS = (8), + IMC_SETCOMPOSITIONFONT = (10), + IMC_SETCOMPOSITIONWINDOW = (12), + IMC_SETSTATUSWINDOWPOS = (16), + IMN_CHANGECANDIDATE = (3), + IMN_CLOSECANDIDATE = (4), + IMN_CLOSESTATUSWINDOW = (1), + IMN_GUIDELINE = (13), + IMN_OPENCANDIDATE = (5), + IMN_OPENSTATUSWINDOW = (2), + IMN_SETCANDIDATEPOS = (9), + IMN_SETCOMPOSITIONFONT = (10), + IMN_SETCOMPOSITIONWINDOW = (11), + IMN_SETCONVERSIONMODE = (6), + IMN_SETOPENSTATUS = (8), + IMN_SETSENTENCEMODE = (7), + IMN_SETSTATUSWINDOWPOS = (12), + IMN_PRIVATE = (14), + SKF_AUDIBLEFEEDBACK = (64), + SKF_AVAILABLE = (2), + SKF_CONFIRMHOTKEY = (8), + SKF_HOTKEYACTIVE = (4), + SKF_HOTKEYSOUND = (16), + SKF_INDICATOR = (32), + SKF_STICKYKEYSON = (1), + SKF_TRISTATE = (128), + SKF_TWOKEYSOFF = (256), + MKF_AVAILABLE = (2), + MKF_CONFIRMHOTKEY = (8), + MKF_HOTKEYACTIVE = (4), + MKF_HOTKEYSOUND = (16), + MKF_INDICATOR = (32), + MKF_MOUSEKEYSON = (1), + MKF_MODIFIERS = (64), + MKF_REPLACENUMBERS = (128), + SSF_AVAILABLE = (2), + SSF_SOUNDSENTRYON = (1), + SSTF_BORDER = (2), + SSTF_CHARS = (1), + SSTF_DISPLAY = (3), + SSTF_NONE = (0), + SSGF_DISPLAY = (3), + SSGF_NONE = (0), + SSWF_CUSTOM = (4), + SSWF_DISPLAY = (3), + SSWF_NONE = (0), + SSWF_TITLE = (1), + SSWF_WINDOW = (2), + ATF_ONOFFFEEDBACK = (2), + ATF_TIMEOUTON = (1), + HCF_AVAILABLE = (2), + HCF_CONFIRMHOTKEY = (8), + HCF_HIGHCONTRASTON = (1), + HCF_HOTKEYACTIVE = (4), + HCF_HOTKEYAVAILABLE = (64), + HCF_HOTKEYSOUND = (16), + HCF_INDICATOR = (32), + TKF_AVAILABLE = (2), + TKF_CONFIRMHOTKEY = (8), + TKF_HOTKEYACTIVE = (4), + TKF_HOTKEYSOUND = (16), + TKF_TOGGLEKEYSON = (1), + PP_DISPLAYERRORS = (1), + RESOURCEDISPLAYTYPE_DOMAIN = (1), + RESOURCEDISPLAYTYPE_FILE = (4), + RESOURCEDISPLAYTYPE_GENERIC = (0), + RESOURCEDISPLAYTYPE_GROUP = (5), + RESOURCEDISPLAYTYPE_SERVER = (2), + RESOURCEDISPLAYTYPE_SHARE = (3), + CAPSLOCK_ON = (128), + ENHANCED_KEY = (256), + LEFT_ALT_PRESSED = (2), + LEFT_CTRL_PRESSED = (8), + NUMLOCK_ON = (32), + RIGHT_ALT_PRESSED = (1), + RIGHT_CTRL_PRESSED = (4), + SCROLLLOCK_ON = (64), + SHIFT_PRESSED = (16), + FROM_LEFT_1ST_BUTTON_PRESSED = (1), + RIGHTMOST_BUTTON_PRESSED = (2), + FROM_LEFT_2ND_BUTTON_PRESSED = (4), + FROM_LEFT_3RD_BUTTON_PRESSED = (8), + FROM_LEFT_4TH_BUTTON_PRESSED = (16), + DOUBLE_CLICK = (2), + MOUSE_MOVED = (1), + KEY_EVENT = (1), + _MOUSE_EVENT = (2), + cMOUSE_EVENT = (2), + WINDOW_BUFFER_SIZE_EVENT = (4), + MENU_EVENT = (8), + FOCUS_EVENT = (16), + BI_RGB = (0), + BI_RLE8 = (1), + BI_RLE4 = (2), + BI_BITFIELDS = (3), + PFD_DRAW_TO_WINDOW = (0x4), + PFD_DRAW_TO_BITMAP = (0x8), + PFD_SUPPORT_GDI = (0x10), + PFD_SUPPORT_OPENGL = (0x20), + PFD_DOUBLEBUFFER = (0x1), + PFD_STEREO = (0x2), + PFD_DOUBLEBUFFER_DONTCARE = (0x40000000), + PFD_STEREO_DONTCARE = (0x80000000), + PFD_TYPE_RGBA = (0), + PFD_TYPE_COLORINDEX = (1), + PFD_MAIN_PLANE = (0), + PFD_OVERLAY_PLANE = (1), + PFD_UNDERLAY_PLANE = -((1)), + WGL_FONT_LINES = (0), + WGL_FONT_POLYGONS = (1), + PFD_GENERIC_FORMAT = (0x40), + PFD_NEED_PALETTE = (0x80), + PFD_NEED_SYSTEM_PALETTE = (0x100), + PFD_SWAP_COPY = (0x400), + PFD_SWAP_EXCHANGE = (0x200), + TMPF_FIXED_PITCH = (0x1), + TMPF_VECTOR = (0x2), + TMPF_TRUETYPE = (0x4), + TMPF_DEVICE = (0x8), + SE_ERR_SHARE = (26), + SE_ERR_ASSOCINCOMPLETE = (27), + SE_ERR_DDETIMEOUT = (28), + SE_ERR_DDEFAIL = (29), + SE_ERR_DDEBUSY = (30), + SE_ERR_NOASSOC = (31), + XCLASS_BOOL = (0x1000), + XCLASS_DATA = (0x2000), + XCLASS_FLAGS = (0x4000), + XCLASS_MASK = (0xfc00), + XCLASS_NOTIFICATION = (0x8000), + XTYPF_NOBLOCK = (0x0002), + XTYP_ADVDATA = (0x4010), + XTYP_ADVREQ = (0x2022), + XTYP_ADVSTART = (0x1030), + XTYP_ADVSTOP = (0x8040), + XTYP_CONNECT = (0x1062), + XTYP_CONNECT_CONFIRM = (0x8072), + XTYP_DISCONNECT = (0x80c2), + XTYP_EXECUTE = (0x4050), + XTYP_POKE = (0x4090), + XTYP_REQUEST = (0x20b0), + XTYP_WILDCONNECT = (0x20E2), + XTYP_REGISTER = (0x80A2), + XTYP_ERROR = (0x8002), + XTYP_XACT_COMPLETE = (0x8080), + XTYP_UNREGISTER = (0x80D2), + DMLERR_DLL_USAGE = (0x4004), + DMLERR_INVALIDPARAMETER = (0x4006), + DMLERR_NOTPROCESSED = (0x4009), + DMLERR_POSTMSG_FAILED = (0x400c), + DMLERR_SERVER_DIED = (0x400e), + DMLERR_SYS_ERROR = (0x400f), + DMLERR_BUSY = (0x4001), + DMLERR_DATAACKTIMEOUT = (0x4002), + DMLERR_ADVACKTIMEOUT = (0x4000), + DMLERR_DLL_NOT_INITIALIZED = (0x4003), + DMLERR_LOW_MEMORY = (0x4007), + DMLERR_MEMORY_ERROR = (0x4008), + DMLERR_POKEACKTIMEOUT = (0x400b), + DMLERR_NO_CONV_ESTABLISHED = (0x400a), + DMLERR_REENTRANCY = (0x400d), + DMLERR_UNFOUND_QUEUE_ID = (0x4011), + DMLERR_UNADVACKTIMEOUT = (0x4010), + DMLERR_EXECACKTIMEOUT = (0x4005), + DDE_FACK = (0x8000), + DDE_FNOTPROCESSED = (0x0000), + DNS_REGISTER = (0x0001), + DNS_UNREGISTER = (0x0002), + CP_WINANSI = (1004), + CP_WINUNICODE = (1200), + APPCLASS_STANDARD = (0x00000000), + BKMODE_LAST = (2), + CTLCOLOR_MSGBOX = (0), + CTLCOLOR_EDIT = (1), + CTLCOLOR_LISTBOX = (2), + CTLCOLOR_BTN = (3), + CTLCOLOR_DLG = (4), + CTLCOLOR_SCROLLBAR = (5), + CTLCOLOR_STATIC = (6), + CTLCOLOR_MAX = (7), + META_SETMAPMODE = (0x0103), + META_SETWINDOWORG = (0x020B), + META_SETWINDOWEXT = (0x020C), + POLYFILL_LAST = (2), + STATUS_WAIT_0 = (0x00000000), + STATUS_ABANDONED_WAIT_0 = (0x00000080), + STATUS_USER_APC = (0x000000C0), + STATUS_TIMEOUT = (0x00000102), + STATUS_PENDING = (0x00000103), + STATUS_GUARD_PAGE_VIOLATION = (0x80000001), + STATUS_DATATYPE_MISALIGNMENT = (0x80000002), + STATUS_BREAKPOINT = (0x80000003), + STATUS_SINGLE_STEP = (0x80000004), + STATUS_IN_PAGE_ERROR = (0xC0000006), + STATUS_INVALID_HANDLE = (0xC0000008), + STATUS_ILLEGAL_INSTRUCTION = (0xC000001D), + STATUS_NONCONTINUABLE_EXCEPTION = (0xC0000025), + STATUS_INVALID_DISPOSITION = (0xC0000026), + STATUS_ARRAY_BOUNDS_EXCEEDED = (0xC000008C), + STATUS_FLOAT_DENORMAL_OPERAND = (0xC000008D), + STATUS_FLOAT_DIVIDE_BY_ZERO = (0xC000008E), + STATUS_FLOAT_INEXACT_RESULT = (0xC000008F), + STATUS_FLOAT_INVALID_OPERATION = (0xC0000090), + STATUS_FLOAT_OVERFLOW = (0xC0000091), + STATUS_FLOAT_STACK_CHECK = (0xC0000092), + STATUS_FLOAT_UNDERFLOW = (0xC0000093), + STATUS_INTEGER_DIVIDE_BY_ZERO = (0xC0000094), + STATUS_INTEGER_OVERFLOW = (0xC0000095), + STATUS_PRIVILEGED_INSTRUCTION = (0xC0000096), + STATUS_STACK_OVERFLOW = (0xC00000FD), + STATUS_CONTROL_C_EXIT = (0xC000013A), + PROCESSOR_ARCHITECTURE_INTEL = (0), + PROCESSOR_ARCHITECTURE_MIPS = (1), + PROCESSOR_ARCHITECTURE_ALPHA = (2), + PROCESSOR_ARCHITECTURE_PPC = (3), + SIZEFULLSCREEN = (SIZE_MAXIMIZED), + SIZENORMAL = (SIZE_RESTORED), + SIZEICONIC = (SIZE_MINIMIZED), + SIZE_OF_80387_REGISTERS = (80), + __FILE___i386 = (0x10000), + __FILE___CONTROL = (__FILE___i386) | (1), + __FILE___INTEGER = (__FILE___i386) | (2), + __FILE___SEGMENTS = (__FILE___i386) | (4), + __FILE___FLOATING_POINT = (__FILE___i386) | (8), + __FILE___DEBUG_REGISTERS = (__FILE___i386) | (0x10), + __FILE___FULL = ((__FILE___CONTROL) | (__FILE___INTEGER)) | (__FILE___SEGMENTS), + FLAG_TRACE_BIT = (0x100), + __FILE___DEBUGGER = (__FILE___FULL) | (__FILE___FLOATING_POINT), + FILTER_TEMP_DUPLICATE_ACCOUNT = (0x0001), + FILTER_NORMAL_ACCOUNT = (0x0002), + FILTER_INTERDOMAIN_TRUST_ACCOUNT = (0x0008), + FILTER_WORKSTATION_TRUST_ACCOUNT = (0x0010), + FILTER_SERVER_TRUST_ACCOUNT = (0x0020), + LOGON32_LOGON_INTERACTIVE = (0x02), + LOGON32_LOGON_BATCH = (0x04), + LOGON32_LOGON_SERVICE = (0x05), + LOGON32_PROVIDER_DEFAULT = (0x00), + LOGON32_PROVIDER_WINNT35 = (0x01), + QID_SYNC = (0xFFFFFFFF), + IMAGE_DOS_SIGNATURE = (0x5a4d), + IMAGE_NT_SIGNATURE = (0x4550), + SEVERITY_SUCCESS = (0), + SEVERITY_ERROR = (1), + VT_EMPTY = (0), + VT_NULL = (1), + VT_I2 = (2), + VT_I4 = (3), + VT_R4 = (4), + VT_R8 = (5), + VT_BSTR = (8), + VT_ERROR = (10), + VT_BOOL = (11), + VT_UI1 = (17), + VT_BYREF = (0x4000), + VT_RESERVED = (0x8000), + FACILITY_WINDOWS = (8), + FACILITY_STORAGE = (3), + FACILITY_RPC = (1), + FACILITY_SSPI = (9), + FACILITY_WIN32 = (7), + FACILITY_CONTROL = (10), + FACILITY_NULL = (0), + FACILITY_INTERNET = (12), + FACILITY_ITF = (4), + FACILITY_DISPATCH = (2), + FACILITY_CERT = (11), + ACM_OPENW = (1127), + ACM_OPENA = (1124), + ACM_OPEN = (ACM_OPENA), + ACM_PLAY = (1125), + ACM_STOP = (1126), + ACN_START = (1), + ACN_STOP = (2), + BM_CLICK = (245), + BM_GETCHECK = (240), + BM_GETIMAGE = (246), + BM_GETSTATE = (242), + BM_SETCHECK = (241), + BM_SETIMAGE = (247), + BM_SETSTATE = (243), + BM_SETSTYLE = (244), + BN_CLICKED = (0), + BN_DBLCLK = (5), + BN_DISABLE = (4), + BN_DOUBLECLICKED = (5), + BN_HILITE = (2), + BN_KILLFOCUS = (7), + BN_PAINT = (1), + BN_PUSHED = (2), + BN_SETFOCUS = (6), + BN_UNHILITE = (3), + BN_UNPUSHED = (3), + CB_ADDSTRING = (323), + CB_DELETESTRING = (324), + CB_DIR = (325), + CB_FINDSTRING = (332), + CB_FINDSTRINGEXACT = (344), + CB_GETCOUNT = (326), + CB_GETCURSEL = (327), + CB_GETDROPPEDCONTROLRECT = (338), + CB_GETDROPPEDSTATE = (343), + CB_GETDROPPEDWIDTH = (351), + CB_GETEDITSEL = (320), + CB_GETEXTENDEDUI = (342), + CB_GETHORIZONTALEXTENT = (349), + CB_GETITEMDATA = (336), + CB_GETITEMHEIGHT = (340), + CB_GETLBTEXT = (328), + CB_GETLBTEXTLEN = (329), + CB_GETLOCALE = (346), + CB_GETTOPINDEX = (347), + CB_INITSTORAGE = (353), + CB_INSERTSTRING = (330), + CB_LIMITTEXT = (321), + CB_RESETCONTENT = (331), + CB_SELECTSTRING = (333), + CB_SETCURSEL = (334), + CB_SETDROPPEDWIDTH = (352), + CB_SETEDITSEL = (322), + CB_SETEXTENDEDUI = (341), + CB_SETHORIZONTALEXTENT = (350), + CB_SETITEMDATA = (337), + CB_SETITEMHEIGHT = (339), + CB_SETLOCALE = (345), + CB_SETTOPINDEX = (348), + CB_SHOWDROPDOWN = (335), + CBN_CLOSEUP = (8), + CBN_DBLCLK = (2), + CBN_DROPDOWN = (7), + CBN_EDITCHANGE = (5), + CBN_EDITUPDATE = (6), + CBN_ERRSPACE = -((1)), + CBN_KILLFOCUS = (4), + CBN_SELCHANGE = (1), + CBN_SELENDCANCEL = (10), + CBN_SELENDOK = (9), + CBN_SETFOCUS = (3), + DL_BEGINDRAG = (1157), + DL_CANCELDRAG = (1160), + DL_DRAGGING = (1158), + DL_DROPPED = (1159), + DM_GETDEFID = (1024), + DM_REPOSITION = (1026), + DM_SETDEFID = (1025), + EM_CANPASTE = (1074), + EM_CANUNDO = (198), + EM_CHARFROMPOS = (215), + EM_DISPLAYBAND = (1075), + EM_EMPTYUNDOBUFFER = (205), + EM_EXGETSEL = (1076), + EM_EXLIMITTEXT = (1077), + EM_EXLINEFROMCHAR = (1078), + EM_EXSETSEL = (1079), + EM_FINDTEXT = (1080), + EM_FINDTEXTEX = (1103), + EM_FINDWORDBREAK = (1100), + EM_FMTLINES = (200), + EM_FORMATRANGE = (1081), + EM_GETCHARFORMAT = (1082), + EM_GETEVENTMASK = (1083), + EM_GETFIRSTVISIBLELINE = (206), + EM_GETHANDLE = (189), + EM_GETLIMITTEXT = (213), + EM_GETLINE = (196), + EM_GETLINECOUNT = (186), + EM_GETMARGINS = (212), + EM_GETMODIFY = (184), + EM_GETIMECOLOR = (1129), + EM_GETIMEOPTIONS = (1131), + EM_GETOPTIONS = (1102), + EM_GETOLEINTERFACE = (1084), + EM_GETPARAFORMAT = (1085), + EM_GETPASSWORDCHAR = (210), + EM_GETPUNCTUATION = (1125), + EM_GETRECT = (178), + EM_GETSEL = (176), + EM_GETSELTEXT = (1086), + EM_GETTEXTRANGE = (1099), + EM_GETTHUMB = (190), + EM_GETWORDBREAKPROC = (209), + EM_GETWORDBREAKPROCEX = (1104), + EM_GETWORDWRAPMODE = (1127), + EM_HIDESELECTION = (1087), + EM_LIMITTEXT = (197), + EM_LINEFROMCHAR = (201), + EM_LINEINDEX = (187), + EM_LINELENGTH = (193), + EM_LINESCROLL = (182), + EM_PASTESPECIAL = (1088), + EM_POSFROMCHAR = (214), + EM_REPLACESEL = (194), + EM_REQUESTRESIZE = (1089), + EM_SCROLL = (181), + EM_SCROLLCARET = (183), + EM_SELECTIONTYPE = (1090), + EM_SETBKGNDCOLOR = (1091), + EM_SETCHARFORMAT = (1092), + EM_SETEVENTMASK = (1093), + EM_SETHANDLE = (188), + EM_SETIMECOLOR = (1128), + EM_SETIMEOPTIONS = (1130), + EM_SETLIMITTEXT = (197), + EM_SETMARGINS = (211), + EM_SETMODIFY = (185), + EM_SETOLECALLBACK = (1094), + EM_SETOPTIONS = (1101), + EM_SETPARAFORMAT = (1095), + EM_SETPASSWORDCHAR = (204), + EM_SETPUNCTUATION = (1124), + EM_SETREADONLY = (207), + EM_SETRECT = (179), + EM_SETRECTNP = (180), + EM_SETSEL = (177), + EM_SETTABSTOPS = (203), + EM_SETTARGETDEVICE = (1096), + EM_SETWORDBREAKPROC = (208), + EM_SETWORDBREAKPROCEX = (1105), + EM_SETWORDWRAPMODE = (1126), + EM_STREAMIN = (1097), + EM_STREAMOUT = (1098), + EM_UNDO = (199), + EN_CHANGE = (768), + EN_CORRECTTEXT = (1797), + EN_DROPFILES = (1795), + EN_ERRSPACE = (1280), + EN_HSCROLL = (1537), + EN_IMECHANGE = (1799), + EN_KILLFOCUS = (512), + EN_MAXTEXT = (1281), + EN_MSGFILTER = (1792), + EN_OLEOPFAILED = (1801), + EN_PROTECTED = (1796), + EN_REQUESTRESIZE = (1793), + EN_SAVECLIPBOARD = (1800), + EN_SELCHANGE = (1794), + EN_SETFOCUS = (256), + EN_STOPNOUNDO = (1798), + EN_UPDATE = (1024), + EN_VSCROLL = (1538), + HDM_DELETEITEM = (4610), + HDM_GETITEMW = (4619), + HDM_INSERTITEMW = (4618), + HDM_SETITEMW = (4620), + HDM_GETITEMA = (4611), + HDM_INSERTITEMA = (4609), + HDM_SETITEMA = (4612), + HDM_GETITEM = (HDM_GETITEMA), + HDM_INSERTITEM = (HDM_INSERTITEMA), + HDM_SETITEM = (HDM_SETITEMA), + HDM_GETITEMCOUNT = (4608), + HDM_HITTEST = (4614), + HDM_LAYOUT = (4613), + HDN_BEGINTRACKW = -((326)), + HDN_DIVIDERDBLCLICKW = -((325)), + HDN_ENDTRACKW = -((327)), + HDN_ITEMCHANGEDW = -((321)), + HDN_ITEMCHANGINGW = -((320)), + HDN_ITEMCLICKW = -((322)), + HDN_ITEMDBLCLICKW = -((323)), + HDN_TRACKW = -((328)), + HDN_BEGINTRACKA = -((306)), + HDN_DIVIDERDBLCLICKA = -((305)), + HDN_ENDTRACKA = -((307)), + HDN_ITEMCHANGEDA = -((301)), + HDN_ITEMCHANGINGA = -((300)), + HDN_ITEMCLICKA = -((302)), + HDN_ITEMDBLCLICKA = -((303)), + HDN_TRACKA = -((308)), + HDN_BEGINTRACK = (HDN_BEGINTRACKA), + HDN_DIVIDERDBLCLICK = (HDN_DIVIDERDBLCLICKA), + HDN_ENDTRACK = (HDN_ENDTRACKA), + HDN_ITEMCHANGED = (HDN_ITEMCHANGEDA), + HDN_ITEMCHANGING = (HDN_ITEMCHANGINGA), + HDN_ITEMCLICK = (HDN_ITEMCLICKA), + HDN_ITEMDBLCLICK = (HDN_ITEMDBLCLICKA), + HDN_TRACK = (HDN_TRACKA), + HKM_GETHOTKEY = (1026), + HKM_SETHOTKEY = (1025), + HKM_SETRULES = (1027), + LB_ADDFILE = (406), + LB_ADDSTRING = (384), + LB_DELETESTRING = (386), + LB_DIR = (397), + LB_FINDSTRING = (399), + LB_FINDSTRINGEXACT = (418), + LB_GETANCHORINDEX = (413), + LB_GETCARETINDEX = (415), + LB_GETCOUNT = (395), + LB_GETCURSEL = (392), + LB_GETHORIZONTALEXTENT = (403), + LB_GETITEMDATA = (409), + LB_GETITEMHEIGHT = (417), + LB_GETITEMRECT = (408), + LB_GETLOCALE = (422), + LB_GETSEL = (391), + LB_GETSELCOUNT = (400), + LB_GETSELITEMS = (401), + LB_GETTEXT = (393), + LB_GETTEXTLEN = (394), + LB_GETTOPINDEX = (398), + LB_INITSTORAGE = (424), + LB_INSERTSTRING = (385), + LB_ITEMFROMPOINT = (425), + LB_RESETCONTENT = (388), + LB_SELECTSTRING = (396), + LB_SELITEMRANGE = (411), + LB_SELITEMRANGEEX = (387), + LB_SETANCHORINDEX = (412), + LB_SETCARETINDEX = (414), + LB_SETCOLUMNWIDTH = (405), + LB_SETCOUNT = (423), + LB_SETCURSEL = (390), + LB_SETHORIZONTALEXTENT = (404), + LB_SETITEMDATA = (410), + LB_SETITEMHEIGHT = (416), + LB_SETLOCALE = (421), + LB_SETSEL = (389), + LB_SETTABSTOPS = (402), + LB_SETTOPINDEX = (407), + LBN_DBLCLK = (2), + LBN_ERRSPACE = -((2)), + LBN_KILLFOCUS = (5), + LBN_SELCANCEL = (3), + LBN_SELCHANGE = (1), + LBN_SETFOCUS = (4), + LVM_ARRANGE = (4118), + LVM_CREATEDRAGIMAGE = (4129), + LVM_DELETEALLITEMS = (4105), + LVM_DELETECOLUMN = (4124), + LVM_DELETEITEM = (4104), + LVM_ENSUREVISIBLE = (4115), + LVM_GETBKCOLOR = (4096), + LVM_GETCALLBACKMASK = (4106), + LVM_GETCOLUMNWIDTH = (4125), + LVM_GETCOUNTPERPAGE = (4136), + LVM_GETEDITCONTROL = (4120), + LVM_GETIMAGELIST = (4098), + LVM_EDITLABELW = (4214), + LVM_FINDITEMW = (4179), + LVM_GETCOLUMNW = (4191), + LVM_GETISEARCHSTRINGW = (4213), + LVM_GETITEMW = (4171), + LVM_GETITEMTEXTW = (4211), + LVM_GETSTRINGWIDTHW = (4183), + LVM_INSERTCOLUMNW = (4193), + LVM_INSERTITEMW = (4173), + LVM_SETCOLUMNW = (4192), + LVM_SETITEMW = (4172), + LVM_SETITEMTEXTW = (4212), + LVM_EDITLABELA = (4119), + LVM_FINDITEMA = (4109), + LVM_GETCOLUMNA = (4121), + LVM_GETISEARCHSTRINGA = (4148), + LVM_GETITEMA = (4101), + LVM_GETITEMTEXTA = (4141), + LVM_GETSTRINGWIDTHA = (4113), + LVM_INSERTCOLUMNA = (4123), + LVM_INSERTITEMA = (4103), + LVM_SETCOLUMNA = (4122), + LVM_SETITEMA = (4102), + LVM_SETITEMTEXTA = (4142), + LVM_EDITLABEL = (LVM_EDITLABELA), + LVM_FINDITEM = (LVM_FINDITEMA), + LVM_GETCOLUMN = (LVM_GETCOLUMNA), + LVM_GETISEARCHSTRING = (LVM_GETISEARCHSTRINGA), + LVM_GETITEM = (LVM_GETITEMA), + LVM_GETITEMTEXT = (LVM_GETITEMTEXTA), + LVM_GETSTRINGWIDTH = (LVM_GETSTRINGWIDTHA), + LVM_INSERTCOLUMN = (LVM_INSERTCOLUMNA), + LVM_INSERTITEM = (LVM_INSERTITEMA), + LVM_SETCOLUMN = (LVM_SETCOLUMNA), + LVM_SETITEM = (LVM_SETITEMA), + LVM_SETITEMTEXT = (LVM_SETITEMTEXTA), + LVM_GETITEMCOUNT = (4100), + LVM_GETITEMPOSITION = (4112), + LVM_GETITEMRECT = (4110), + LVM_GETITEMSPACING = (4147), + LVM_GETITEMSTATE = (4140), + LVM_GETNEXTITEM = (4108), + LVM_GETORIGIN = (4137), + LVM_GETSELECTEDCOUNT = (4146), + LVM_GETTEXTBKCOLOR = (4133), + LVM_GETTEXTCOLOR = (4131), + LVM_GETTOPINDEX = (4135), + LVM_GETVIEWRECT = (4130), + LVM_HITTEST = (4114), + LVM_REDRAWITEMS = (4117), + LVM_SCROLL = (4116), + LVM_SETBKCOLOR = (4097), + LVM_SETCALLBACKMASK = (4107), + LVM_SETCOLUMNWIDTH = (4126), + LVM_SETIMAGELIST = (4099), + LVM_SETITEMCOUNT = (4143), + LVM_SETITEMPOSITION = (4111), + LVM_SETITEMPOSITION32 = (4145), + LVM_SETITEMSTATE = (4139), + LVM_SETTEXTBKCOLOR = (4134), + LVM_SETTEXTCOLOR = (4132), + LVM_SORTITEMS = (4144), + LVM_UPDATE = (4138), + LVN_BEGINDRAG = -((109)), + LVN_BEGINRDRAG = -((111)), + LVN_COLUMNCLICK = -((108)), + LVN_DELETEALLITEMS = -((104)), + LVN_DELETEITEM = -((103)), + LVN_BEGINLABELEDITW = -((175)), + LVN_ENDLABELEDITW = -((176)), + LVN_GETDISPINFOW = -((177)), + LVN_SETDISPINFOW = -((178)), + LVN_BEGINLABELEDITA = -((105)), + LVN_ENDLABELEDITA = -((106)), + LVN_GETDISPINFOA = -((150)), + LVN_SETDISPINFOA = -((151)), + LVN_BEGINLABELEDIT = (LVN_BEGINLABELEDITA), + LVN_ENDLABELEDIT = (LVN_ENDLABELEDITA), + LVN_GETDISPINFO = (LVN_GETDISPINFOA), + LVN_SETDISPINFO = (LVN_SETDISPINFOA), + LVN_INSERTITEM = -((102)), + LVN_ITEMCHANGED = -((101)), + LVN_ITEMCHANGING = -((100)), + LVN_KEYDOWN = -((155)), + NM_CLICK = -((2)), + NM_DBLCLK = -((3)), + NM_KILLFOCUS = -((8)), + NM_OUTOFMEMORY = -((1)), + NM_RCLICK = -((5)), + NM_RDBLCLK = -((6)), + NM_RETURN = -((4)), + NM_SETFOCUS = -((7)), + PBM_DELTAPOS = (1027), + PBM_SETPOS = (1026), + PBM_SETRANGE = (1025), + PBM_SETSTEP = (1028), + PBM_STEPIT = (1029), + PSM_ADDPAGE = (1127), + PSM_APPLY = (1134), + PSM_CANCELTOCLOSE = (1131), + PSM_CHANGED = (1128), + PSM_GETTABCONTROL = (1140), + PSM_GETCURRENTPAGEHWND = (1142), + PSM_ISDIALOGMESSAGE = (1141), + PSM_PRESSBUTTON = (1137), + PSM_QUERYSIBLINGS = (1132), + PSM_REBOOTSYSTEM = (1130), + PSM_REMOVEPAGE = (1126), + PSM_RESTARTWINDOWS = (1129), + PSM_SETCURSEL = (1125), + PSM_SETCURSELID = (1138), + PSM_SETFINISHTEXTW = (1145), + PSM_SETTITLEW = (1144), + PSM_SETFINISHTEXTA = (1139), + PSM_SETTITLEA = (1135), + PSM_SETFINISHTEXT = (PSM_SETFINISHTEXTA), + PSM_SETTITLE = (PSM_SETTITLEA), + PSM_SETWIZBUTTONS = (1136), + PSM_UNCHANGED = (1133), + PSN_APPLY = -((202)), + PSN_HELP = -((205)), + PSN_KILLACTIVE = -((201)), + PSN_QUERYCANCEL = -((209)), + PSN_RESET = -((203)), + PSN_SETACTIVE = -((200)), + PSN_WIZBACK = -((206)), + PSN_WIZFINISH = -((208)), + PSN_WIZNEXT = -((207)), + SB_GETBORDERS = (1031), + SB_GETPARTS = (1030), + SB_GETRECT = (1034), + SB_GETTEXTW = (1037), + SB_GETTEXTLENGTHW = (1036), + SB_SETTEXTW = (1035), + SB_GETTEXTA = (1026), + SB_GETTEXTLENGTHA = (1027), + SB_SETTEXTA = (1025), + SB_GETTEXT = (SB_GETTEXTA), + SB_GETTEXTLENGTH = (SB_GETTEXTLENGTHA), + SB_SETTEXT = (SB_SETTEXTA), + SB_SETMINHEIGHT = (1032), + SB_SETPARTS = (1028), + SB_SIMPLE = (1033), + SBM_ENABLE_ARROWS = (228), + SBM_GETPOS = (225), + SBM_GETRANGE = (227), + SBM_GETSCROLLINFO = (234), + SBM_SETPOS = (224), + SBM_SETRANGE = (226), + SBM_SETRANGEREDRAW = (230), + SBM_SETSCROLLINFO = (233), + STM_GETICON = (369), + STM_GETIMAGE = (371), + STM_SETICON = (368), + STM_SETIMAGE = (370), + STN_CLICKED = (0), + STN_DBLCLK = (1), + STN_DISABLE = (3), + STN_ENABLE = (2), + TB_ADDBITMAP = (1043), + TB_ADDBUTTONS = (1044), + TB_AUTOSIZE = (1057), + TB_BUTTONCOUNT = (1048), + TB_BUTTONSTRUCTSIZE = (1054), + TB_CHANGEBITMAP = (1067), + TB_CHECKBUTTON = (1026), + TB_COMMANDTOINDEX = (1049), + TB_CUSTOMIZE = (1051), + TB_DELETEBUTTON = (1046), + TB_ENABLEBUTTON = (1025), + TB_GETBITMAP = (1068), + TB_GETBITMAPFLAGS = (1065), + TB_GETBUTTON = (1047), + TB_ADDSTRINGW = (1101), + TB_GETBUTTONTEXTW = (1099), + TB_SAVERESTOREW = (1100), + TB_ADDSTRINGA = (1052), + TB_GETBUTTONTEXTA = (1069), + TB_SAVERESTOREA = (1050), + TB_ADDSTRING = (TB_ADDSTRINGA), + TB_GETBUTTONTEXT = (TB_GETBUTTONTEXTA), + TB_SAVERESTORE = (TB_SAVERESTOREA), + TB_GETITEMRECT = (1053), + TB_GETROWS = (1064), + TB_GETSTATE = (1042), + TB_GETTOOLTIPS = (1059), + TB_HIDEBUTTON = (1028), + TB_INDETERMINATE = (1029), + TB_INSERTBUTTON = (1045), + TB_ISBUTTONCHECKED = (1034), + TB_ISBUTTONENABLED = (1033), + TB_ISBUTTONHIDDEN = (1036), + TB_ISBUTTONINDETERMINATE = (1037), + TB_ISBUTTONPRESSED = (1035), + TB_PRESSBUTTON = (1027), + TB_SETBITMAPSIZE = (1056), + TB_SETBUTTONSIZE = (1055), + TB_SETCMDID = (1066), + TB_SETPARENT = (1061), + TB_SETROWS = (1063), + TB_SETSTATE = (1041), + TB_SETTOOLTIPS = (1060), + TBM_CLEARSEL = (1043), + TBM_CLEARTICS = (1033), + TBM_GETCHANNELRECT = (1050), + TBM_GETLINESIZE = (1048), + TBM_GETNUMTICS = (1040), + TBM_GETPAGESIZE = (1046), + TBM_GETPOS = (1024), + TBM_GETPTICS = (1038), + TBM_GETRANGEMAX = (1026), + TBM_GETRANGEMIN = (1025), + TBM_GETSELEND = (1042), + TBM_GETSELSTART = (1041), + TBM_GETTHUMBLENGTH = (1052), + TBM_GETTHUMBRECT = (1049), + TBM_GETTIC = (1027), + TBM_GETTICPOS = (1039), + TBM_SETLINESIZE = (1047), + TBM_SETPAGESIZE = (1045), + TBM_SETPOS = (1029), + TBM_SETRANGE = (1030), + TBM_SETRANGEMAX = (1032), + TBM_SETRANGEMIN = (1031), + TBM_SETSEL = (1034), + TBM_SETSELEND = (1036), + TBM_SETSELSTART = (1035), + TBM_SETTHUMBLENGTH = (1051), + TBM_SETTIC = (1028), + TBM_SETTICFREQ = (1044), + TBN_BEGINADJUST = -((703)), + TBN_BEGINDRAG = -((701)), + TBN_CUSTHELP = -((709)), + TBN_ENDADJUST = -((704)), + TBN_ENDDRAG = -((702)), + TBN_GETBUTTONINFOW = -((720)), + TBN_GETBUTTONINFOA = -((700)), + TBN_GETBUTTONINFO = (TBN_GETBUTTONINFOA), + TBN_QUERYDELETE = -((707)), + TBN_QUERYINSERT = -((706)), + TBN_RESET = -((705)), + TBN_TOOLBARCHANGE = -((708)), + TCM_ADJUSTRECT = (4904), + TCM_DELETEALLITEMS = (4873), + TCM_DELETEITEM = (4872), + TCM_GETCURFOCUS = (4911), + TCM_GETCURSEL = (4875), + TCM_GETIMAGELIST = (4866), + TCM_GETITEMW = (4924), + TCM_INSERTITEMW = (4926), + TCM_SETITEMW = (4925), + TCM_GETITEMA = (4869), + TCM_INSERTITEMA = (4871), + TCM_SETITEMA = (4870), + TCM_GETITEM = (TCM_GETITEMA), + TCM_INSERTITEM = (TCM_INSERTITEMA), + TCM_SETITEM = (TCM_SETITEMA), + TCM_GETITEMCOUNT = (4868), + TCM_GETITEMRECT = (4874), + TCM_GETROWCOUNT = (4908), + TCM_GETTOOLTIPS = (4909), + TCM_HITTEST = (4877), + TCM_REMOVEIMAGE = (4906), + TCM_SETCURFOCUS = (4912), + TCM_SETCURSEL = (4876), + TCM_SETIMAGELIST = (4867), + TCM_SETITEMEXTRA = (4878), + TCM_SETITEMSIZE = (4905), + TCM_SETPADDING = (4907), + TCM_SETTOOLTIPS = (4910), + TCN_KEYDOWN = -((550)), + TCN_SELCHANGE = -((551)), + TCN_SELCHANGING = -((552)), + TTM_ACTIVATE = (1025), + TTM_ADDTOOLW = (1074), + TTM_DELTOOLW = (1075), + TTM_ENUMTOOLSW = (1082), + TTM_GETCURRENTTOOLW = (1083), + TTM_GETTEXTW = (1080), + TTM_GETTOOLINFOW = (1077), + TTM_HITTESTW = (1079), + TTM_NEWTOOLRECTW = (1076), + TTM_SETTOOLINFOW = (1078), + TTM_UPDATETIPTEXTW = (1081), + TTM_ADDTOOLA = (1028), + TTM_DELTOOLA = (1029), + TTM_ENUMTOOLSA = (1038), + TTM_GETCURRENTTOOLA = (1039), + TTM_GETTEXTA = (1035), + TTM_GETTOOLINFOA = (1032), + TTM_HITTESTA = (1034), + TTM_NEWTOOLRECTA = (1030), + TTM_SETTOOLINFOA = (1033), + TTM_UPDATETIPTEXTA = (1036), + TTM_ADDTOOL = (TTM_ADDTOOLA), + TTM_DELTOOL = (TTM_DELTOOLA), + TTM_ENUMTOOLS = (TTM_ENUMTOOLSA), + TTM_GETCURRENTTOOL = (TTM_GETCURRENTTOOLA), + TTM_GETTEXT = (TTM_GETTEXTA), + TTM_GETTOOLINFO = (TTM_GETTOOLINFOA), + TTM_HITTEST = (TTM_HITTESTA), + TTM_NEWTOOLRECT = (TTM_NEWTOOLRECTA), + TTM_SETTOOLINFO = (TTM_SETTOOLINFOA), + TTM_UPDATETIPTEXT = (TTM_UPDATETIPTEXTA), + TTM_GETTOOLCOUNT = (1037), + TTM_RELAYEVENT = (1031), + TTM_SETDELAYTIME = (1027), + TTM_WINDOWFROMPOINT = (1040), + TTN_NEEDTEXTW = -((530)), + TTN_NEEDTEXTA = -((520)), + TTN_NEEDTEXT = (TTN_NEEDTEXTA), + TTN_POP = -((522)), + TTN_SHOW = -((521)), + TVM_CREATEDRAGIMAGE = (4370), + TVM_DELETEITEM = (4353), + TVM_ENDEDITLABELNOW = (4374), + TVM_ENSUREVISIBLE = (4372), + TVM_EXPAND = (4354), + TVM_GETCOUNT = (4357), + TVM_GETEDITCONTROL = (4367), + TVM_GETIMAGELIST = (4360), + TVM_GETINDENT = (4358), + TVM_GETITEMRECT = (4356), + TVM_GETNEXTITEM = (4362), + TVM_GETVISIBLECOUNT = (4368), + TVM_HITTEST = (4369), + TVM_EDITLABELW = (4417), + TVM_GETISEARCHSTRINGW = (4416), + TVM_GETITEMW = (4414), + TVM_INSERTITEMW = (4402), + TVM_SETITEMW = (4415), + TVM_EDITLABELA = (4366), + TVM_GETISEARCHSTRINGA = (4375), + TVM_GETITEMA = (4364), + TVM_INSERTITEMA = (4352), + TVM_SETITEMA = (4365), + TVM_EDITLABEL = (TVM_EDITLABELA), + TVM_GETISEARCHSTRING = (TVM_GETISEARCHSTRINGA), + TVM_GETITEM = (TVM_GETITEMA), + TVM_INSERTITEM = (TVM_INSERTITEMA), + TVM_SETITEM = (TVM_SETITEMA), + TVM_SELECTITEM = (4363), + TVM_SETIMAGELIST = (4361), + TVM_SETINDENT = (4359), + TVM_SORTCHILDREN = (4371), + TVM_SORTCHILDRENCB = (4373), + TVN_KEYDOWN = -((412)), + TVN_BEGINDRAGW = -((456)), + TVN_BEGINLABELEDITW = -((459)), + TVN_BEGINRDRAGW = -((457)), + TVN_DELETEITEMW = -((458)), + TVN_ENDLABELEDITW = -((460)), + TVN_GETDISPINFOW = -((452)), + TVN_ITEMEXPANDEDW = -((455)), + TVN_ITEMEXPANDINGW = -((454)), + TVN_SELCHANGEDW = -((451)), + TVN_SELCHANGINGW = -((450)), + TVN_SETDISPINFOW = -((453)), + TVN_BEGINDRAGA = -((407)), + TVN_BEGINLABELEDITA = -((410)), + TVN_BEGINRDRAGA = -((408)), + TVN_DELETEITEMA = -((409)), + TVN_ENDLABELEDITA = -((411)), + TVN_GETDISPINFOA = -((403)), + TVN_ITEMEXPANDEDA = -((406)), + TVN_ITEMEXPANDINGA = -((405)), + TVN_SELCHANGEDA = -((402)), + TVN_SELCHANGINGA = -((401)), + TVN_SETDISPINFOA = -((404)), + TVN_BEGINDRAG = (TVN_BEGINDRAGA), + TVN_BEGINLABELEDIT = (TVN_BEGINLABELEDITA), + TVN_BEGINRDRAG = (TVN_BEGINRDRAGA), + TVN_DELETEITEM = (TVN_DELETEITEMA), + TVN_ENDLABELEDIT = (TVN_ENDLABELEDITA), + TVN_GETDISPINFO = (TVN_GETDISPINFOA), + TVN_ITEMEXPANDED = (TVN_ITEMEXPANDEDA), + TVN_ITEMEXPANDING = (TVN_ITEMEXPANDINGA), + TVN_SELCHANGED = (TVN_SELCHANGEDA), + TVN_SELCHANGING = (TVN_SELCHANGINGA), + TVN_SETDISPINFO = (TVN_SETDISPINFOA), + UDM_GETACCEL = (1132), + UDM_GETBASE = (1134), + UDM_GETBUDDY = (1130), + UDM_GETPOS = (1128), + UDM_GETRANGE = (1126), + UDM_SETACCEL = (1131), + UDM_SETBASE = (1133), + UDM_SETBUDDY = (1129), + UDM_SETPOS = (1127), + UDM_SETRANGE = (1125), + UDN_DELTAPOS = -((722)), + WM_ACTIVATE = (6), + WM_ACTIVATEAPP = (28), + WM_ASKCBFORMATNAME = (780), + WM_CANCELJOURNAL = (75), + WM_CANCELMODE = (31), + WM_CAPTURECHANGED = (533), + WM_CHANGECBCHAIN = (781), + WM_CHAR = (258), + WM_CHARTOITEM = (47), + WM_CHILDACTIVATE = (34), + WM_CHOOSEFONT_GETLOGFONT = (1025), + WM_CHOOSEFONT_SETLOGFONT = (1125), + WM_CHOOSEFONT_SETFLAGS = (1126), + WM_CLEAR = (771), + WM_CLOSE = (16), + WM_COMMAND = (273), + WM_COMPACTING = (65), + WM_COMPAREITEM = (57), + WM___FILE__MENU = (123), + WM_COPY = (769), + WM_COPYDATA = (74), + WM_CREATE = (1), + WM_CTLCOLORBTN = (309), + WM_CTLCOLORDLG = (310), + WM_CTLCOLOREDIT = (307), + WM_CTLCOLORLISTBOX = (308), + WM_CTLCOLORMSGBOX = (306), + WM_CTLCOLORSCROLLBAR = (311), + WM_CTLCOLORSTATIC = (312), + WM_CUT = (768), + WM_DEADCHAR = (259), + WM_DELETEITEM = (45), + WM_DESTROY = (2), + WM_DESTROYCLIPBOARD = (775), + WM_DEVICECHANGE = (537), + WM_DEVMODECHANGE = (27), + WM_DISPLAYCHANGE = (126), + WM_DRAWCLIPBOARD = (776), + WM_DRAWITEM = (43), + WM_DROPFILES = (563), + WM_ENABLE = (10), + WM_ENDSESSION = (22), + WM_ENTERIDLE = (289), + WM_ENTERMENULOOP = (529), + WM_ENTERSIZEMOVE = (561), + WM_ERASEBKGND = (20), + WM_EXITMENULOOP = (530), + WM_EXITSIZEMOVE = (562), + WM_FONTCHANGE = (29), + WM_GETDLGCODE = (135), + WM_GETFONT = (49), + WM_GETHOTKEY = (51), + WM_GETICON = (127), + WM_GETMINMAXINFO = (36), + WM_GETTEXT = (13), + WM_GETTEXTLENGTH = (14), + WM_HELP = (83), + WM_HOTKEY = (786), + WM_HSCROLL = (276), + WM_HSCROLLCLIPBOARD = (782), + WM_ICONERASEBKGND = (39), + WM_IME_CHAR = (646), + WM_IME_COMPOSITION = (271), + WM_IME_COMPOSITIONFULL = (644), + WM_IME_CONTROL = (643), + WM_IME_ENDCOMPOSITION = (270), + WM_IME_KEYDOWN = (656), + WM_IME_KEYUP = (657), + WM_IME_NOTIFY = (642), + WM_IME_SELECT = (645), + WM_IME_SET__FILE__ = (641), + WM_IME_STARTCOMPOSITION = (269), + WM_INITDIALOG = (272), + WM_INITMENU = (278), + WM_INITMENUPOPUP = (279), + WM_INPUTLANGCHANGE = (81), + WM_INPUTLANGCHANGEREQUEST = (80), + WM_KEYDOWN = (256), + WM_KEYUP = (257), + WM_KILLFOCUS = (8), + WM_LBUTTONDBLCLK = (515), + WM_LBUTTONDOWN = (513), + WM_LBUTTONUP = (514), + WM_MBUTTONDBLCLK = (521), + WM_MBUTTONDOWN = (519), + WM_MBUTTONUP = (520), + WM_MDIACTIVATE = (546), + WM_MDICASCADE = (551), + WM_MDICREATE = (544), + WM_MDIDESTROY = (545), + WM_MDIGETACTIVE = (553), + WM_MDIICONARRANGE = (552), + WM_MDIMAXIMIZE = (549), + WM_MDINEXT = (548), + WM_MDIREFRESHMENU = (564), + WM_MDIRESTORE = (547), + WM_MDISETMENU = (560), + WM_MDITILE = (550), + WM_MEASUREITEM = (44), + WM_MENUCHAR = (288), + WM_MENUSELECT = (287), + WM_MOUSEACTIVATE = (33), + WM_MOUSEMOVE = (512), + WM_MOUSEWHEEL = 0x020A, + WM_MOVE = (3), + WM_MOVING = (534), + WM_NCACTIVATE = (134), + WM_NCCALCSIZE = (131), + WM_NCCREATE = (129), + WM_NCDESTROY = (130), + WM_NCHITTEST = (132), + WM_NCLBUTTONDBLCLK = (163), + WM_NCLBUTTONDOWN = (161), + WM_NCLBUTTONUP = (162), + WM_NCMBUTTONDBLCLK = (169), + WM_NCMBUTTONDOWN = (167), + WM_NCMBUTTONUP = (168), + WM_NCMOUSEMOVE = (160), + WM_NCPAINT = (133), + WM_NCRBUTTONDBLCLK = (166), + WM_NCRBUTTONDOWN = (164), + WM_NCRBUTTONUP = (165), + WM_NEXTDLGCTL = (40), + WM_NOTIFY = (78), + WM_NOTIFYFORMAT = (85), + WM_NULL = (0), + WM_PAINT = (15), + WM_PAINTCLIPBOARD = (777), + WM_PAINTICON = (38), + WM_PALETTECHANGED = (785), + WM_PALETTEISCHANGING = (784), + WM_PARENTNOTIFY = (528), + WM_PASTE = (770), + WM_PENWINFIRST = (896), + WM_PENWINLAST = (911), + WM_POWER = (72), + WM_POWERBROADCAST = (536), + WM_PRINT = (791), + WM_PRINTCLIENT = (792), + WM_PSD_ENVSTAMPRECT = (1029), + WM_PSD_FULLPAGERECT = (1025), + WM_PSD_GREEKTEXTRECT = (1028), + WM_PSD_MARGINRECT = (1027), + WM_PSD_MINMARGINRECT = (1026), + WM_PSD_PAGESETUPDLG = (1024), + WM_PSD_YAFULLPAGERECT = (1030), + WM_QUERYDRAGICON = (55), + WM_QUERYENDSESSION = (17), + WM_QUERYNEWPALETTE = (783), + WM_QUERYOPEN = (19), + WM_QUEUESYNC = (35), + WM_QUIT = (18), + WM_RBUTTONDBLCLK = (518), + WM_RBUTTONDOWN = (516), + WM_RBUTTONUP = (517), + WM_RENDERALLFORMATS = (774), + WM_RENDERFORMAT = (773), + WM_SETCURSOR = (32), + WM_SETFOCUS = (7), + WM_SETFONT = (48), + WM_SETHOTKEY = (50), + WM_SETICON = (128), + WM_SETREDRAW = (11), + WM_SETTEXT = (12), + WM_SETTINGCHANGE = (26), + WM_SHOWWINDOW = (24), + WM_SIZE = (5), + WM_SIZECLIPBOARD = (779), + WM_SIZING = (532), + WM_SPOOLERSTATUS = (42), + WM_STYLECHANGED = (125), + WM_STYLECHANGING = (124), + WM_SYSCHAR = (262), + WM_SYSCOLORCHANGE = (21), + WM_SYSCOMMAND = (274), + WM_SYSDEADCHAR = (263), + WM_SYSKEYDOWN = (260), + WM_SYSKEYUP = (261), + WM_TCARD = (82), + WM_TIMECHANGE = (30), + WM_TIMER = (275), + WM_UNDO = (772), + WM_USER = (1024), + WM_USERCHANGED = (84), + WM_VKEYTOITEM = (46), + WM_VSCROLL = (277), + WM_VSCROLLCLIPBOARD = (778), + WM_WINDOWPOSCHANGED = (71), + WM_WINDOWPOSCHANGING = (70), + WM_WININICHANGE = (26), + WM_KEYFIRST = (256), + WM_KEYLAST = (264), + WM_MOUSEFIRST = (512), + WM_MOUSELAST = (521), +} +struct VA_LIST +{ +} + + +struct ABC +{ + int abcA; + UINT abcB; + int abcC; +} + +alias ABC* LPABC; +alias ABC _ABC; +alias ABC TABC; +alias ABC* PABC; + +struct ABCFLOAT +{ + FLOAT abcfA; + FLOAT abcfB; + FLOAT abcfC; +} + +alias ABCFLOAT* LPABCFLOAT; +alias ABCFLOAT _ABCFLOAT; +alias ABCFLOAT TABCFLOAT; +alias ABCFLOAT* PABCFLOAT; + +struct ACCEL +{ + ubyte fVirt; + ushort key; + ushort cmd; +} + +alias ACCEL* LPACCEL; +alias ACCEL _ACCEL; +alias ACCEL TACCEL; +alias ACCEL* PACCEL; + +struct ACE_HEADER +{ + ubyte AceType; + ubyte AceFlags; + ushort AceSize; +} + +alias ACE_HEADER _ACE_HEADER; +alias ACE_HEADER TACE_HEADER; +alias ACE_HEADER* PACE_HEADER; +alias DWORD ACCESS_MASK; +alias ACCESS_MASK REGSAM; + +struct ACCESS_ALLOWED_ACE +{ + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} + +alias ACCESS_ALLOWED_ACE _ACCESS_ALLOWED_ACE; +alias ACCESS_ALLOWED_ACE TACCESS_ALLOWED_ACE; +alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE; + +struct ACCESS_DENIED_ACE +{ + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} + +alias ACCESS_DENIED_ACE _ACCESS_DENIED_ACE; +alias ACCESS_DENIED_ACE TACCESS_DENIED_ACE; + +struct ACCESSTIMEOUT +{ + UINT cbSize; + DWORD dwFlags; + DWORD iTimeOutMSec; +} + +alias ACCESSTIMEOUT _ACCESSTIMEOUT; +alias ACCESSTIMEOUT TACCESSTIMEOUT; +alias ACCESSTIMEOUT* PACCESSTIMEOUT; + +struct ACL +{ + ubyte AclRevision; + ubyte Sbz1; + ushort AclSize; + ushort AceCount; + ushort Sbz2; +} + +alias ACL* PACL; +alias ACL _ACL; +alias ACL TACL; + +struct ACL_REVISION_INFORMATION +{ + DWORD AclRevision; +} + +alias ACL_REVISION_INFORMATION _ACL_REVISION_INFORMATION; +alias ACL_REVISION_INFORMATION TACLREVISIONINFORMATION; +alias ACL_REVISION_INFORMATION* PACLREVISIONINFORMATION; + +struct ACL_SIZE_INFORMATION +{ + DWORD AceCount; + DWORD AclBytesInUse; + DWORD AclBytesFree; +} + +alias ACL_SIZE_INFORMATION _ACL_SIZE_INFORMATION; +alias ACL_SIZE_INFORMATION TACLSIZEINFORMATION; +alias ACL_SIZE_INFORMATION* PACLSIZEINFORMATION; + +struct ACTION_HEADER +{ + ULONG transport_id; + USHORT action_code; + USHORT reserved; +} + +alias ACTION_HEADER _ACTION_HEADER; +alias ACTION_HEADER TACTIONHEADER; +alias ACTION_HEADER* PACTIONHEADER; + +struct ADAPTER_STATUS +{ + UCHAR[1 + 5] adapter_address; + UCHAR rev_major; + UCHAR reserved0; + UCHAR adapter_type; + UCHAR rev_minor; + ushort duration; + ushort frmr_recv; + ushort frmr_xmit; + ushort iframe_recv_err; + ushort xmit_aborts; + DWORD xmit_success; + DWORD recv_success; + ushort iframe_xmit_err; + ushort recv_buff_unavail; + ushort t1_timeouts; + ushort ti_timeouts; + DWORD reserved1; + ushort free_ncbs; + ushort max_cfg_ncbs; + ushort max_ncbs; + ushort xmit_buf_unavail; + ushort max_dgram_size; + ushort pending_sess; + ushort max_cfg_sess; + ushort max_sess; + ushort max_sess_pkt_size; + ushort name_count; +} + +alias ADAPTER_STATUS _ADAPTER_STATUS; +alias ADAPTER_STATUS TADAPTERSTATUS; +alias ADAPTER_STATUS* PADAPTERSTATUS; + +struct ADDJOB_INFO_1 +{ + LPTSTR Path; + DWORD JobId; +} + +alias ADDJOB_INFO_1 _ADDJOB_INFO_1; +alias ADDJOB_INFO_1 TADDJOB_INFO_1; +alias ADDJOB_INFO_1* PADDJOB_INFO_1; + +struct ANIMATIONINFO +{ + UINT cbSize; + int iMinAnimate; +} + +alias ANIMATIONINFO* LPANIMATIONINFO; +alias ANIMATIONINFO _ANIMATIONINFO; +alias ANIMATIONINFO TANIMATIONINFO; +alias ANIMATIONINFO* PANIMATIONINFO; + +struct RECT +{ + LONG left; + LONG top; + LONG right; + LONG bottom; +} + +alias RECT* LPCRECT; +alias RECT* LPRECT; +alias RECT _RECT; +alias RECT TRECT; +alias RECT* PRECT; + +struct RECTL +{ + LONG left; + LONG top; + LONG right; + LONG bottom; +} + +alias RECTL _RECTL; +alias RECTL TRECTL; +alias RECTL* PRECTL; +alias RECTL* LPRECTL; +alias RECTL* LPCRECTL; + +struct APPBARDATA +{ + DWORD cbSize; + HWND hWnd; + UINT uCallbackMessage; + UINT uEdge; + RECT rc; + LPARAM lParam; +} + +alias APPBARDATA _APPBARDATA; +alias APPBARDATA TAPPBARDATA; +alias APPBARDATA* PAPPBARDATA; + +struct BITMAP +{ + LONG bmType; + LONG bmWidth; + LONG bmHeight; + LONG bmWidthBytes; + ushort bmPlanes; + ushort bmBitsPixel; + LPVOID bmBits; +} + +alias BITMAP* PBITMAP; +alias BITMAP* NPBITMAP; +alias BITMAP* LPBITMAP; +alias BITMAP TAGBITMAP; +alias BITMAP TBITMAP; + +struct BITMAPCOREHEADER +{ + DWORD bcSize; + ushort bcWidth; + ushort bcHeight; + ushort bcPlanes; + ushort bcBitCount; +} + +alias BITMAPCOREHEADER TAGBITMAPCOREHEADER; +alias BITMAPCOREHEADER TBITMAPCOREHEADER; +alias BITMAPCOREHEADER* PBITMAPCOREHEADER; + +struct RGBTRIPLE +{ + ubyte rgbtBlue; + ubyte rgbtGreen; + ubyte rgbtRed; +} + +alias RGBTRIPLE TAGRGBTRIPLE; +alias RGBTRIPLE TRGBTRIPLE; +alias RGBTRIPLE* PRGBTRIPLE; + +struct BITMAPCOREINFO +{ + BITMAPCOREHEADER bmciHeader; + RGBTRIPLE[1 + 0] bmciColors; +} + +alias BITMAPCOREINFO* PBITMAPCOREINFO; +alias BITMAPCOREINFO* LPBITMAPCOREINFO; +alias BITMAPCOREINFO _BITMAPCOREINFO; +alias BITMAPCOREINFO TBITMAPCOREINFO; + +struct BITMAPINFOHEADER +{ + DWORD biSize; + LONG biWidth; + LONG biHeight; + ushort biPlanes; + ushort biBitCount; + DWORD biCompression; + DWORD biSizeImage; + LONG biXPelsPerMeter; + LONG biYPelsPerMeter; + DWORD biClrUsed; + DWORD biClrImportant; +} + +alias BITMAPINFOHEADER* LPBITMAPINFOHEADER; +alias BITMAPINFOHEADER TBITMAPINFOHEADER; +alias BITMAPINFOHEADER* PBITMAPINFOHEADER; + +struct RGBQUAD +{ + ubyte rgbBlue; + ubyte rgbGreen; + ubyte rgbRed; + ubyte rgbReserved; +} + +alias RGBQUAD TAGRGBQUAD; +alias RGBQUAD TRGBQUAD; +alias RGBQUAD* PRGBQUAD; + +struct BITMAPINFO +{ + BITMAPINFOHEADER bmiHeader; + RGBQUAD[1 + 0] bmiColors; +} + +alias BITMAPINFO* LPBITMAPINFO; +alias BITMAPINFO* PBITMAPINFO; +alias BITMAPINFO TBITMAPINFO; +alias int FXPT2DOT30; +alias FXPT2DOT30* LPFXPT2DOT30; +alias FXPT2DOT30 TPFXPT2DOT30; +alias FXPT2DOT30* PPFXPT2DOT30; + +struct CIEXYZ +{ + FXPT2DOT30 ciexyzX; + FXPT2DOT30 ciexyzY; + FXPT2DOT30 ciexyzZ; +} + +alias CIEXYZ TAGCIEXYZ; +alias CIEXYZ* LPCIEXYZ; +alias CIEXYZ TPCIEXYZ; +alias CIEXYZ* PCIEXYZ; + +struct CIEXYZTRIPLE +{ + CIEXYZ ciexyzRed; + CIEXYZ ciexyzGreen; + CIEXYZ ciexyzBlue; +} + +alias CIEXYZTRIPLE TAGCIEXYZTRIPLE; +alias CIEXYZTRIPLE* LPCIEXYZTRIPLE; +alias CIEXYZTRIPLE TCIEXYZTRIPLE; +alias CIEXYZTRIPLE* PCIEXYZTRIPLE; + +struct BITMAPV4HEADER +{ + DWORD bV4Size; + LONG bV4Width; + LONG bV4Height; + ushort bV4Planes; + ushort bV4BitCount; + DWORD bV4V4Compression; + DWORD bV4SizeImage; + LONG bV4XPelsPerMeter; + LONG bV4YPelsPerMeter; + DWORD bV4ClrUsed; + DWORD bV4ClrImportant; + DWORD bV4RedMask; + DWORD bV4GreenMask; + DWORD bV4BlueMask; + DWORD bV4AlphaMask; + DWORD bV4CSType; + CIEXYZTRIPLE bV4Endpoints; + DWORD bV4GammaRed; + DWORD bV4GammaGreen; + DWORD bV4GammaBlue; +} + +alias BITMAPV4HEADER* LPBITMAPV4HEADER; +alias BITMAPV4HEADER TBITMAPV4HEADER; +alias BITMAPV4HEADER* PBITMAPV4HEADER; + +align(1) struct BITMAPFILEHEADER +{ + ushort bfType; + DWORD bfSize; + ushort bfReserved1; + ushort bfReserved2; + DWORD bfOffBits; +} + + +struct BLOB +{ + ULONG cbSize; + ubyte* pBlobData; +} + +alias BLOB _BLOB; +alias BLOB TBLOB; +alias BLOB* PBLOB; + +struct SHITEMID +{ + USHORT cb; + ubyte[1 + 0] abID; +} + +alias SHITEMID* LPSHITEMID; +alias SHITEMID* LPCSHITEMID; +alias SHITEMID _SHITEMID; +alias SHITEMID TSHITEMID; +alias SHITEMID* PSHITEMID; + +struct ITEMIDLIST +{ + SHITEMID mkid; +} + +alias ITEMIDLIST* LPITEMIDLIST; +alias ITEMIDLIST* LPCITEMIDLIST; +alias ITEMIDLIST _ITEMIDLIST; +alias ITEMIDLIST TITEMIDLIST; +alias ITEMIDLIST* PITEMIDLIST; + +struct BROWSEINFOA +{ + HWND hwndOwner; + LPCITEMIDLIST pidlRoot; + LPSTR pszDisplayName; + LPCSTR lpszTitle; + UINT ulFlags; + BFFCALLBACK lpfn; + LPARAM lParam; + int iImage; +} +struct BROWSEINFOW +{ + HWND hwndOwner; + LPCITEMIDLIST pidlRoot; + LPWSTR pszDisplayName; + LPCWSTR lpszTitle; + UINT ulFlags; + BFFCALLBACK lpfn; + LPARAM lParam; + int iImage; +} +version( Win32SansUnicode ) +{ + alias BROWSEINFOA BROWSEINFO; +} +else +{ + alias BROWSEINFOW BROWSEINFO; +} +alias BROWSEINFO* PBROWSEINFO, LPBROWSEINFO; + +struct FILETIME +{ + DWORD dwLowDateTime; + DWORD dwHighDateTime; +} + +alias FILETIME* LPFILETIME; +alias FILETIME _FILETIME; +alias FILETIME TFILETIME; +alias FILETIME* PFILETIME; + +struct BY_HANDLE_FILE_INFORMATION +{ + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD dwVolumeSerialNumber; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; + DWORD nNumberOfLinks; + DWORD nFileIndexHigh; + DWORD nFileIndexLow; +} + +alias BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION; +alias BY_HANDLE_FILE_INFORMATION _BY_HANDLE_FILE_INFORMATION; +alias BY_HANDLE_FILE_INFORMATION TBYHANDLEFILEINFORMATION; +alias BY_HANDLE_FILE_INFORMATION* PBYHANDLEFILEINFORMATION; + +struct FIXED +{ + ushort fract; + int value; +} + +alias FIXED _FIXED; +alias FIXED TFIXED; +alias FIXED* PFIXED; + +struct POINT +{ + LONG x; + LONG y; +} + +alias POINT* LPPOINT; +alias POINT TAGPOINT; +alias POINT TPOINT; +alias POINT* PPOINT; + +struct POINTFX +{ + FIXED x; + FIXED y; +} + +alias POINTFX TAGPOINTFX; +alias POINTFX TPOINTFX; +alias POINTFX* PPOINTFX; + +struct POINTL +{ + LONG x; + LONG y; +} + +alias POINTL _POINTL; +alias POINTL TPOINTL; +alias POINTL* PPOINTL; + +struct TSMALLPOINT +{ + byte X, Y; +} + + +struct POINTS +{ + SHORT x; + SHORT y; +} + +alias POINTS TAGPOINTS; +alias POINTS TPOINTS; +alias POINTS* PPOINTS; + +struct CANDIDATEFORM +{ + DWORD dwIndex; + DWORD dwStyle; + POINT ptCurrentPos; + RECT rcArea; +} + +alias CANDIDATEFORM* LPCANDIDATEFORM; +alias CANDIDATEFORM _TAGCANDIDATEFORM; +alias CANDIDATEFORM TCANDIDATEFORM; +alias CANDIDATEFORM* PCANDIDATEFORM; + +struct CANDIDATELIST +{ + DWORD dwSize; + DWORD dwStyle; + DWORD dwCount; + DWORD dwSelection; + DWORD dwPageStart; + DWORD dwPageSize; + DWORD[1 + 0] dwOffset; +} + +alias CANDIDATELIST* LPCANDIDATELIST; +alias CANDIDATELIST _TAGCANDIDATELIST; +alias CANDIDATELIST TCANDIDATELIST; +alias CANDIDATELIST* PCANDIDATELIST; + +struct CREATESTRUCT +{ + LPVOID lpCreateParams; + HINST hInstance; + HMENU hMenu; + HWND hwndParent; + int cy; + int cx; + int y; + int x; + LONG style; + LPCTSTR lpszName; + LPCTSTR lpszClass; + DWORD dwExStyle; +} + +alias CREATESTRUCT* LPCREATESTRUCT; +alias CREATESTRUCT TAGCREATESTRUCT; +alias CREATESTRUCT TCREATESTRUCT; +alias CREATESTRUCT* PCREATESTRUCT; + +struct CBT_CREATEWND +{ + LPCREATESTRUCT lpcs; + HWND hwndInsertAfter; +} + +alias CBT_CREATEWND TAGCBT_CREATEWND; +alias CBT_CREATEWND TCBT_CREATEWND; +alias CBT_CREATEWND* PCBT_CREATEWND; + +struct CBTACTIVATESTRUCT +{ + WINBOOL fMouse; + HWND hWndActive; +} + +alias CBTACTIVATESTRUCT TAGCBTACTIVATESTRUCT; +alias CBTACTIVATESTRUCT TCBTACTIVATESTRUCT; +alias CBTACTIVATESTRUCT* PCBTACTIVATESTRUCT; + +struct CHAR_INFO +{ + + union + { + struct + { + WCHAR UnicodeChar; + ushort Attributes; + } + struct + { + char AsciiChar; + } + } +} + +alias CHAR_INFO _CHAR_INFO; +alias CHAR_INFO TCHAR_INFO; +alias CHAR_INFO* PCHAR_INFO; + +struct CHARFORMAT +{ + UINT cbSize; + DWORD dwMask; + DWORD dwEffects; + LONG yHeight; + LONG yOffset; + COLORREF crTextColor; + ubyte bCharSet; + ubyte bPitchAndFamily; + TCHAR[1 + LF_FACESIZE-1] szFaceName; +} + +alias CHARFORMAT _CHARFORMAT; +alias CHARFORMAT TCHARFORMAT; +alias CHARFORMAT* PCHARFORMAT; + +struct CHARRANGE +{ + LONG cpMin; + LONG cpMax; +} + +alias CHARRANGE _CHARRANGE; +alias CHARRANGE TCHARRANGE; +alias CHARRANGE* PCHARRANGE; + +struct CHARSET +{ + DWORD[1 + 2] aflBlock; + DWORD flLang; +} + +alias CHARSET TAGCHARSET; +alias CHARSET TCHARSET; +alias CHARSET* PCHARSET; + +struct FONTSIGNATURE +{ + DWORD[1 + 3] fsUsb; + DWORD[1 + 1] fsCsb; +} + +alias FONTSIGNATURE* LPFONTSIGNATURE; +alias FONTSIGNATURE TAGFONTSIGNATURE; +alias FONTSIGNATURE TFONTSIGNATURE; +alias FONTSIGNATURE* PFONTSIGNATURE; + +struct CHARSETINFO +{ + UINT ciCharset; + UINT ciACP; + FONTSIGNATURE fs; +} + +alias CHARSETINFO* LPCHARSETINFO; +alias CHARSETINFO TCHARSETINFO; +alias CHARSETINFO* PCHARSETINFO; + +struct CHOOSECOLORA { + DWORD lStructSize; + HWND hwndOwner; + HWND hInstance; + COLORREF rgbResult; + COLORREF* lpCustColors; + DWORD Flags; + LPARAM lCustData; + LPCCHOOKPROC lpfnHook; + LPCSTR lpTemplateName; +} +alias CHOOSECOLORA* PCHOOSECOLORA, LPCHOOSECOLORA; +struct CHOOSECOLORW { + DWORD lStructSize; + HWND hwndOwner; + HWND hInstance; + COLORREF rgbResult; + COLORREF* lpCustColors; + DWORD Flags; + LPARAM lCustData; + LPCCHOOKPROC lpfnHook; + LPCWSTR lpTemplateName; +} +alias CHOOSECOLORW* PCHOOSECOLORW, LPCHOOSECOLORW; +version(Win32SansUnicode) +{ + alias CHOOSECOLORA CHOOSECOLOR; +} +else +{ + alias CHOOSECOLORW CHOOSECOLOR; +} +alias CHOOSECOLOR* PCHOOSECOLOR, LPCHOOSECOLOR; + +struct LOGFONTA +{ + LONG lfHeight; + LONG lfWidth; + LONG lfEscapement; + LONG lfOrientation; + LONG lfWeight; + ubyte lfItalic; + ubyte lfUnderline; + ubyte lfStrikeOut; + ubyte lfCharSet; + ubyte lfOutPrecision; + ubyte lfClipPrecision; + ubyte lfQuality; + ubyte lfPitchAndFamily; + ubyte[1 + LF_FACESIZE-1] lfFaceName; +} + +alias LOGFONTA TLOGFONTA; +alias LOGFONTA* PLOGFONTA; +alias LOGFONTA* LPLOGFONTA; + +struct LOGFONTW +{ + LONG lfHeight; + LONG lfWidth; + LONG lfEscapement; + LONG lfOrientation; + LONG lfWeight; + ubyte lfItalic; + ubyte lfUnderline; + ubyte lfStrikeOut; + ubyte lfCharSet; + ubyte lfOutPrecision; + ubyte lfClipPrecision; + ubyte lfQuality; + ubyte lfPitchAndFamily; + WCHAR lfFaceName[LF_FACESIZE]; +}; + +alias LOGFONTW TLOGFONTW; +alias LOGFONTW* LPLOGFONTW; +alias LOGFONTW* PLOGFONTW; + +version( Win32SansUnicode ){ + alias LOGFONTA LOGFONT; + alias LOGFONTA TLOGFONT; + alias LOGFONTA* PLOGFONT; + alias LOGFONTA* LPLOGFONT; +} +else{ + alias LOGFONTW LOGFONT; + alias LOGFONTW TLOGFONT; + alias LOGFONTW* PLOGFONT; + alias LOGFONTW* LPLOGFONT; +} + +struct TCHOOSEFONT +{ + DWORD lStructSize; + HWND hwndOwner; + HDC hDC; + LPLOGFONT lpLogFont; + INT iPointSize; + DWORD Flags; + DWORD rgbColors; + LPARAM lCustData; + LPCFHOOKPROC lpfnHook; + LPCTSTR lpTemplateName; + HINST hInstance; + LPTSTR lpszStyle; + ushort nFontType; + ushort ___MISSING_ALIGNMENT__; + INT nSizeMin; + INT nSizeMax; +} + +alias TCHOOSEFONT* LPCHOOSEFONT; +alias TCHOOSEFONT* PCHOOSEFONT; + +struct CIDA +{ + UINT cidl; + UINT[1 + 0] aoffset; +} + +alias CIDA* LPIDA; +alias CIDA _IDA; +alias CIDA TIDA; +alias CIDA* PIDA; + +struct CLIENTCREATESTRUCT +{ + HANDLE hWindowMenu; + UINT idFirstChild; +} + +alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; +alias CLIENTCREATESTRUCT TAGCLIENTCREATESTRUCT; +alias CLIENTCREATESTRUCT TCLIENTCREATESTRUCT; +alias CLIENTCREATESTRUCT* PCLIENTCREATESTRUCT; + +struct CMINVOKECOMMANDINFO +{ + DWORD cbSize; + DWORD fMask; + HWND hwnd; + LPCSTR lpVerb; + LPCSTR lpParameters; + LPCSTR lpDirectory; + int nShow; + DWORD dwHotKey; + HANDLE hIcon; +} + +alias CMINVOKECOMMANDINFO* LPCMINVOKECOMMANDINFO; +alias CMINVOKECOMMANDINFO _CMINVOKECOMMANDINFO; +alias CMINVOKECOMMANDINFO TCMINVOKECOMMANDINFO; +alias CMINVOKECOMMANDINFO* PCMINVOKECOMMANDINFO; + +struct COLORADJUSTMENT +{ + ushort caSize; + ushort caFlags; + ushort caIlluminantIndex; + ushort caRedGamma; + ushort caGreenGamma; + ushort caBlueGamma; + ushort caReferenceBlack; + ushort caReferenceWhite; + SHORT caContrast; + SHORT caBrightness; + SHORT caColorfulness; + SHORT caRedGreenTint; +} + +alias COLORADJUSTMENT* LPCOLORADJUSTMENT; +alias COLORADJUSTMENT TAGCOLORADJUSTMENT; +alias COLORADJUSTMENT TCOLORADJUSTMENT; +alias COLORADJUSTMENT* PCOLORADJUSTMENT; + +struct COLORMAP +{ + COLORREF from; + COLORREF _to; +} + +alias COLORMAP* LPCOLORMAP; +alias COLORMAP _COLORMAP; +alias COLORMAP TCOLORMAP; +alias COLORMAP* PCOLORMAP; + +struct DCB +{ + DWORD DCBlength; + DWORD BaudRate; + int flag0; + ushort wReserved; + ushort XonLim; + ushort XoffLim; + ubyte ByteSize; + ubyte Parity; + ubyte StopBits; + char XonChar; + char XoffChar; + char ErrorChar; + char EofChar; + char EvtChar; + ushort wReserved1; +} + +alias DCB* LPDCB; +alias DCB _DCB; +alias DCB TDCB; +alias DCB* PDCB; +enum : DWORD { + bm_DCB_fBinary = (0x1), + bp_DCB_fBinary = (0), + bm_DCB_fParity = (0x2), + bp_DCB_fParity = (1), + bm_DCB_fOutxCtsFlow = (0x4), + bp_DCB_fOutxCtsFlow = (2), + bm_DCB_fOutxDsrFlow = (0x8), + bp_DCB_fOutxDsrFlow = (3), + bm_DCB_fDtrControl = (0x30), + bp_DCB_fDtrControl = (4), + bm_DCB_fDsrSensitivity = (0x40), + bp_DCB_fDsrSensitivity = (6), + bm_DCB_fTXContinueOnXoff = (0x80), + bp_DCB_fTXContinueOnXoff = (7), + bm_DCB_fOutX = (0x100), + bp_DCB_fOutX = (8), + bm_DCB_fInX = (0x200), + bp_DCB_fInX = (9), + bm_DCB_fErrorChar = (0x400), + bp_DCB_fErrorChar = (10), + bm_DCB_fNull = (0x800), + bp_DCB_fNull = (11), + bm_DCB_fRtsControl = (0x3000), + bp_DCB_fRtsControl = (12), + bm_DCB_fAbortOnError = (0x4000), + bp_DCB_fAbortOnError = (14), + bm_DCB_fDummy2 = (0xFFFF8000), + bp_DCB_fDummy2 = (15), +} + +struct COMMCONFIG +{ + DWORD dwSize; + ushort wVersion; + ushort wReserved; + DCB dcb; + DWORD dwProviderSubType; + DWORD dwProviderOffset; + DWORD dwProviderSize; + WCHAR[1 + 0] wcProviderData; +} + +alias COMMCONFIG* LPCOMMCONFIG; +alias COMMCONFIG _COMM_CONFIG; +alias COMMCONFIG TCOMMCONFIG; +alias COMMCONFIG* PCOMMCONFIG; + +struct COMMPROP +{ + ushort wPacketLength; + ushort wPacketVersion; + DWORD dwServiceMask; + DWORD dwReserved1; + DWORD dwMaxTxQueue; + DWORD dwMaxRxQueue; + DWORD dwMaxBaud; + DWORD dwProvSubType; + DWORD dwProvCapabilities; + DWORD dwSettableParams; + DWORD dwSettableBaud; + ushort wSettableData; + ushort wSettableStopParity; + DWORD dwCurrentTxQueue; + DWORD dwCurrentRxQueue; + DWORD dwProvSpec1; + DWORD dwProvSpec2; + WCHAR[1 + 0] wcProvChar; +} + +alias COMMPROP* LPCOMMPROP; +alias COMMPROP _COMMPROP; +alias COMMPROP TCOMMPROP; +alias COMMPROP* PCOMMPROP; + +struct COMMTIMEOUTS +{ + DWORD ReadIntervalTimeout; + DWORD ReadTotalTimeoutMultiplier; + DWORD ReadTotalTimeoutConstant; + DWORD WriteTotalTimeoutMultiplier; + DWORD WriteTotalTimeoutConstant; +} + +alias COMMTIMEOUTS* LPCOMMTIMEOUTS; +alias COMMTIMEOUTS _COMMTIMEOUTS; +alias COMMTIMEOUTS TCOMMTIMEOUTS; +alias COMMTIMEOUTS* PCOMMTIMEOUTS; + +struct COMPAREITEMSTRUCT +{ + UINT CtlType; + UINT CtlID; + HWND hwndItem; + UINT itemID1; + DWORD itemData1; + UINT itemID2; + DWORD itemData2; +} + +alias COMPAREITEMSTRUCT TAGCOMPAREITEMSTRUCT; +alias COMPAREITEMSTRUCT TCOMPAREITEMSTRUCT; +alias COMPAREITEMSTRUCT* PCOMPAREITEMSTRUCT; + +struct COMPCOLOR +{ + COLORREF crText; + COLORREF crBackground; + DWORD dwEffects; +} + +alias COMPCOLOR TCOMPCOLOR; +alias COMPCOLOR* PCOMPCOLOR; + +struct COMPOSITIONFORM +{ + DWORD dwStyle; + POINT ptCurrentPos; + RECT rcArea; +} + +alias COMPOSITIONFORM* LPCOMPOSITIONFORM; +alias COMPOSITIONFORM _TAGCOMPOSITIONFORM; +alias COMPOSITIONFORM TCOMPOSITIONFORM; +alias COMPOSITIONFORM* PCOMPOSITIONFORM; + +struct COMSTAT +{ + int flag0; + DWORD cbInQue; + DWORD cbOutQue; +} + +alias COMSTAT* LPCOMSTAT; +alias COMSTAT _COMSTAT; +alias COMSTAT TCOMSTAT; +alias COMSTAT* PCOMSTAT; +enum : DWORD { + bm_COMSTAT_fCtsHold = (0x1), + bp_COMSTAT_fCtsHold = (0), + bm_COMSTAT_fDsrHold = (0x2), + bp_COMSTAT_fDsrHold = (1), + bm_COMSTAT_fRlsdHold = (0x4), + bp_COMSTAT_fRlsdHold = (2), + bm_COMSTAT_fXoffHold = (0x8), + bp_COMSTAT_fXoffHold = (3), + bm_COMSTAT_fXoffSent = (0x10), + bp_COMSTAT_fXoffSent = (4), + bm_COMSTAT_fEof = (0x20), + bp_COMSTAT_fEof = (5), + bm_COMSTAT_fTxim = (0x40), + bp_COMSTAT_fTxim = (6), + bm_COMSTAT_fReserved = (0xFFFFFF80), + bp_COMSTAT_fReserved = (7), +} +struct CONSOLE_CURSOR_INFO +{ + DWORD dwSize; + WINBOOL bVisible; +} + +alias CONSOLE_CURSOR_INFO* PCONSOLE_CURSOR_INFO; +alias CONSOLE_CURSOR_INFO _CONSOLE_CURSOR_INFO; +alias CONSOLE_CURSOR_INFO TCONSOLECURSORINFO; +alias CONSOLE_CURSOR_INFO* PCONSOLECURSORINFO; +alias CONSOLE_CURSOR_INFO TCURSORINFO; + +struct COORD +{ + SHORT X; + SHORT Y; +} + +alias COORD _COORD; +alias COORD TCOORD; +alias COORD* PCOORD; + +struct SMALL_RECT +{ + SHORT Left; + SHORT Top; + SHORT Right; + SHORT Bottom; +} + +alias SMALL_RECT _SMALL_RECT; +alias SMALL_RECT TSMALL_RECT; +alias SMALL_RECT* PSMALL_RECT; + +align(1) struct CONSOLE_SCREEN_BUFFER_INFO +{ + COORD dwSize; + COORD dwCursorPosition; + ushort wAttributes; + SMALL_RECT srWindow; + COORD dwMaximumWindowSize; +} + +alias CONSOLE_SCREEN_BUFFER_INFO* PCONSOLE_SCREEN_BUFFER_INFO; +alias CONSOLE_SCREEN_BUFFER_INFO _CONSOLE_SCREEN_BUFFER_INFO; +alias CONSOLE_SCREEN_BUFFER_INFO TCONSOLESCREENBUFFERINFO; +alias CONSOLE_SCREEN_BUFFER_INFO* PCONSOLESCREENBUFFERINFO; + +struct FLOATING_SAVE_AREA +{ + DWORD ControlWord; + DWORD StatusWord; + DWORD TagWord; + DWORD ErrorOffset; + DWORD ErrorSelector; + DWORD DataOffset; + DWORD DataSelector; + ubyte[1 + 79] RegisterArea; + DWORD Cr0NpxState; +} + +alias FLOATING_SAVE_AREA _FLOATING_SAVE_AREA; +alias FLOATING_SAVE_AREA TFLOATINGSAVEAREA; +alias FLOATING_SAVE_AREA* PFLOATINGSAVEAREA; + +enum : DWORD +{ +// +// The following flags control the contents of the CONTEXT structure. +// + CONTEXT_i386 = 0x00010000, // this assumes that i386 and + CONTEXT_i486 = 0x00010000, // i486 have identical context records + + CONTEXT_CONTROL = (CONTEXT_i386 | 0x00000001), // SS:SP, CS:IP, FLAGS, BP + CONTEXT_INTEGER = (CONTEXT_i386 | 0x00000002), // AX, BX, CX, DX, SI, DI + CONTEXT_SEGMENTS = (CONTEXT_i386 | 0x00000004), // DS, ES, FS, GS + CONTEXT_FLOATING_POINT = (CONTEXT_i386 | 0x00000008), // 387 state + CONTEXT_DEBUG_REGISTERS = (CONTEXT_i386 | 0x00000010), // DB 0-3,6,7 + + CONTEXT_FULL = (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS), +} + +struct CONTEXT +{ + DWORD ContextFlags; + DWORD Dr0; + DWORD Dr1; + DWORD Dr2; + DWORD Dr3; + DWORD Dr6; + DWORD Dr7; + FLOATING_SAVE_AREA FloatSave; + DWORD SegGs; + DWORD SegFs; + DWORD SegEs; + DWORD SegDs; + DWORD Edi; + DWORD Esi; + DWORD Ebx; + DWORD Edx; + DWORD Ecx; + DWORD Eax; + DWORD Ebp; + DWORD Eip; + DWORD SegCs; + DWORD EFlags; + DWORD Esp; + DWORD SegSs; +} + +alias CONTEXT* LPCONTEXT; +alias CONTEXT _CONTEXT; +alias CONTEXT TCONTEXT; +alias CONTEXT* PCONTEXT; + +struct LIST_ENTRY +{ + _LIST_ENTRY* Flink; + _LIST_ENTRY* Blink; +} + +alias LIST_ENTRY _LIST_ENTRY; +alias LIST_ENTRY TLISTENTRY; +alias LIST_ENTRY* PLISTENTRY; + +struct CRITICAL_SECTION_DEBUG +{ + ushort _Type; + ushort CreatorBackTraceIndex; + _CRITICAL_SECTION* CriticalSection; + LIST_ENTRY ProcessLocksList; + DWORD EntryCount; + DWORD ContentionCount; + DWORD Depth; + PVOID[1 + 4] OwnerBackTrace; +} + +alias CRITICAL_SECTION_DEBUG* LPCRITICAL_SECTION_DEBUG; +alias CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG; +alias CRITICAL_SECTION_DEBUG _CRITICAL_SECTION_DEBUG; +alias CRITICAL_SECTION_DEBUG TCRITICALSECTIONDEBUG; +alias CRITICAL_SECTION_DEBUG* PCRITICALSECTIONDEBUG; + +struct CRITICAL_SECTION +{ + PCRITICAL_SECTION_DEBUG DebugInfo; + LONG LockCount; + LONG RecursionCount; + HANDLE OwningThread; + HANDLE LockSemaphore; + DWORD Reserved; +} + +alias CRITICAL_SECTION* LPCRITICAL_SECTION; +alias CRITICAL_SECTION* PCRITICAL_SECTION; +alias CRITICAL_SECTION _CRITICAL_SECTION; +alias CRITICAL_SECTION TCRITICALSECTION; +alias CRITICAL_SECTION* PCRITICALSECTION; + +struct SECURITY_QUALITY_OF_SERVICE +{ + DWORD Length; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + WINBOOL ContextTrackingMode; + ubyte EffectiveOnly; +} + +alias SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE; +alias SECURITY_QUALITY_OF_SERVICE _SECURITY_QUALITY_OF_SERVICE; +alias SECURITY_QUALITY_OF_SERVICE TSECURITYQUALITYOFSERVICE; +alias SECURITY_QUALITY_OF_SERVICE* PSECURITYQUALITYOFSERVICE; + +struct CONVCONTEXT +{ + UINT cb; + UINT wFlags; + UINT wCountryID; + int iCodePage; + DWORD dwLangID; + DWORD dwSecurity; + SECURITY_QUALITY_OF_SERVICE qos; +} + +alias CONVCONTEXT TAGCONVCONTEXT; +alias CONVCONTEXT TCONVCONTEXT; +alias CONVCONTEXT* PCONVCONTEXT; + +struct CONVINFO +{ + DWORD cb; + DWORD hUser; + HCONV hConvPartner; + HSZ hszSvcPartner; + HSZ hszServiceReq; + HSZ hszTopic; + HSZ hszItem; + UINT wFmt; + UINT wType; + UINT wStatus; + UINT wConvst; + UINT wLastError; + HCONVLIST hConvList; + CONVCONTEXT ConvCtxt; + HWND _hwnd; + HWND hwndPartner; +} + +alias CONVINFO TAGCONVINFO; +alias CONVINFO TCONVINFO; +alias CONVINFO* PCONVINFO; + +struct COPYDATASTRUCT +{ + DWORD dwData; + DWORD cbData; + PVOID lpData; +} + +alias COPYDATASTRUCT TAGCOPYDATASTRUCT; +alias COPYDATASTRUCT TCOPYDATASTRUCT; +alias COPYDATASTRUCT* PCOPYDATASTRUCT; + +struct CPINFO +{ + UINT MaxCharSize; + ubyte[1 + MAX_DEFAULTCHAR-1] DefaultChar; + ubyte[1 + MAX_LEADBYTES-1] LeadByte; +} + +alias CPINFO* LPCPINFO; +alias CPINFO _CPINFO; +alias CPINFO TCPINFO; +alias CPINFO* PCPINFO; + +struct CPLINFO +{ + int idIcon; + int idName; + int idInfo; + LONG lData; +} + +alias CPLINFO TAGCPLINFO; +alias CPLINFO TCPLINFO; +alias CPLINFO* PCPLINFO; + +struct CREATE_PROCESS_DEBUG_INFO +{ + HANDLE hFile; + HANDLE hProcess; + HANDLE hThread; + LPVOID lpBaseOfImage; + DWORD dwDebugInfoFileOffset; + DWORD nDebugInfoSize; + LPVOID lpThreadLocalBase; + LPTHREAD_START_ROUTINE lpStartAddress; + LPVOID lpImageName; + ushort fUnicode; +} + +alias CREATE_PROCESS_DEBUG_INFO _CREATE_PROCESS_DEBUG_INFO; +alias CREATE_PROCESS_DEBUG_INFO TCREATEPROCESSDEBUGINFO; +alias CREATE_PROCESS_DEBUG_INFO* PCREATEPROCESSDEBUGINFO; + +struct CREATE_THREAD_DEBUG_INFO +{ + HANDLE hThread; + LPVOID lpThreadLocalBase; + LPTHREAD_START_ROUTINE lpStartAddress; +} + +alias CREATE_THREAD_DEBUG_INFO _CREATE_THREAD_DEBUG_INFO; +alias CREATE_THREAD_DEBUG_INFO TCREATETHREADDEBUGINFO; +alias CREATE_THREAD_DEBUG_INFO* PCREATETHREADDEBUGINFO; + +struct CURRENCYFMT +{ + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPTSTR lpDecimalSep; + LPTSTR lpThousandSep; + UINT NegativeOrder; + UINT PositiveOrder; + LPTSTR lpCurrencySymbol; +} + +alias CURRENCYFMT _CURRENCYFMT; +alias CURRENCYFMT TCURRENCYFMT; +alias CURRENCYFMT* PCURRENCYFMT; + +struct CURSORSHAPE +{ + int xHotSpot; + int yHotSpot; + int cx; + int cy; + int cbWidth; + ubyte Planes; + ubyte BitsPixel; +} + +alias CURSORSHAPE* LPCURSORSHAPE; +alias CURSORSHAPE TAGCURSORSHAPE; +alias CURSORSHAPE TCURSORSHAPE; +alias CURSORSHAPE* PCURSORSHAPE; + +struct CWPRETSTRUCT +{ + LRESULT lResult; + LPARAM lParam; + WPARAM wParam; + DWORD message; + HWND hwnd; +} + +alias CWPRETSTRUCT TAGCWPRETSTRUCT; +alias CWPRETSTRUCT TCWPRETSTRUCT; +alias CWPRETSTRUCT* PCWPRETSTRUCT; + +struct CWPSTRUCT +{ + LPARAM lParam; + WPARAM wParam; + UINT message; + HWND hwnd; +} + +alias CWPSTRUCT TAGCWPSTRUCT; +alias CWPSTRUCT TCWPSTRUCT; +alias CWPSTRUCT* PCWPSTRUCT; + +struct DATATYPES_INFO_1 +{ + LPTSTR pName; +} + +alias DATATYPES_INFO_1 _DATATYPES_INFO_1; +alias DATATYPES_INFO_1 TDATATYPESINFO1; +alias DATATYPES_INFO_1* PDATATYPESINFO1; + +struct DDEACK +{ + ushort flag0; +} + +alias DDEACK TDDEACK; +alias DDEACK* PDDEACK; +enum : DWORD { + bm_DDEACK_bAppReturnCode = (0xFF), + bp_DDEACK_bAppReturnCode = (0), + bm_DDEACK_reserved = (0x3F00), + bp_DDEACK_reserved = (8), + bm_DDEACK_fBusy = (0x4000), + bp_DDEACK_fBusy = (14), + bm_DDEACK_fAck = (0x8000), + bp_DDEACK_fAck = (15), +} + +struct DDEADVISE +{ + ushort flag0; + int cfFormat; +} + +alias DDEADVISE TDDEADVISE; +alias DDEADVISE* PDDEADVISE; +enum : DWORD { + bm_DDEADVISE_reserved = (0x3FFF), + bp_DDEADVISE_reserved = (0), + bm_DDEADVISE_fDeferUpd = (0x4000), + bp_DDEADVISE_fDeferUpd = (14), + bm_DDEADVISE_fAckReq = (0x8000), + bp_DDEADVISE_fAckReq = (15), +} + +struct DDEDATA +{ + ushort flag0; + int cfFormat; + ubyte[1 + 0] Value; +} + +alias DDEDATA* PDDEDATA; +enum : DWORD { + bm_DDEDATA_unused = (0xFFF), + bp_DDEDATA_unused = (0), + bm_DDEDATA_fResponse = (0x1000), + bp_DDEDATA_fResponse = (12), + bm_DDEDATA_fRelease = (0x2000), + bp_DDEDATA_fRelease = (13), + bm_DDEDATA_reserved = (0x4000), + bp_DDEDATA_reserved = (14), + bm_DDEDATA_fAckReq = (0x8000), + bp_DDEDATA_fAckReq = (15), +} + +struct DDELN +{ + ushort flag0; + int cfFormat; +} + +alias DDELN TDDELN; +alias DDELN* PDDELN; +enum : DWORD { + bm_DDELN_unused = (0x1FFF), + bp_DDELN_unused = (0), + bm_DDELN_fRelease = (0x2000), + bp_DDELN_fRelease = (13), + bm_DDELN_fDeferUpd = (0x4000), + bp_DDELN_fDeferUpd = (14), + bm_DDELN_fAckReq = (0x8000), + bp_DDELN_fAckReq = (15), +} + +struct DDEML_MSG_HOOK_DATA +{ + UINT uiLo; + UINT uiHi; + DWORD cbData; + DWORD[1 + 7] Data; +} + +alias DDEML_MSG_HOOK_DATA TAGDDEML_MSG_HOOK_DATA; +alias DDEML_MSG_HOOK_DATA TDDEMLMSGHOOKDATA; +alias DDEML_MSG_HOOK_DATA* PDDEMLMSGHOOKDATA; + +struct DDEPOKE +{ + ushort flag0; + int cfFormat; + ubyte[1 + 0] Value; +} + +alias DDEPOKE TDDEPOKE; +alias DDEPOKE* PDDEPOKE; +enum : DWORD { + bm_DDEPOKE_unused = (0x1FFF), + bp_DDEPOKE_unused = (0), + bm_DDEPOKE_fRelease = (0x2000), + bp_DDEPOKE_fRelease = (13), + bm_DDEPOKE_fReserved = (0xC000), + bp_DDEPOKE_fReserved = (14), +} +struct DDEUP +{ + ushort flag0; + int cfFormat; + ubyte[1 + 0] rgb; +} + +alias DDEUP TDDEUP; +alias DDEUP* PDDEUP; + +enum : DWORD { + bm_DDEUP_unused = (0xFFF), + bp_DDEUP_unused = (0), + bm_DDEUP_fAck = (0x1000), + bp_DDEUP_fAck = (12), + bm_DDEUP_fRelease = (0x2000), + bp_DDEUP_fRelease = (13), + bm_DDEUP_fReserved = (0x4000), + bp_DDEUP_fReserved = (14), + bm_DDEUP_fAckReq = (0x8000), + bp_DDEUP_fAckReq = (15), +} + +struct EXCEPTION_RECORD +{ + DWORD ExceptionCode; + DWORD ExceptionFlags; + _EXCEPTION_RECORD* ExceptionRecord; + PVOID ExceptionAddress; + DWORD NumberParameters; + DWORD[1 + EXCEPTION_MAXIMUM_PARAMETERS-1] ExceptionInformation; +} + +alias EXCEPTION_RECORD* PEXCEPTION_RECORD; +alias EXCEPTION_RECORD _EXCEPTION_RECORD; +alias EXCEPTION_RECORD TEXCEPTIONRECORD; +alias EXCEPTION_RECORD* PEXCEPTIONRECORD; + +struct EXCEPTION_DEBUG_INFO +{ + EXCEPTION_RECORD ExceptionRecord; + DWORD dwFirstChance; +} + +alias EXCEPTION_DEBUG_INFO* PEXCEPTION_DEBUG_INFO; +alias EXCEPTION_DEBUG_INFO _EXCEPTION_DEBUG_INFO; +alias EXCEPTION_DEBUG_INFO TEXCEPTIONDEBUGINFO; +alias EXCEPTION_DEBUG_INFO* PEXCEPTIONDEBUGINFO; + +struct EXIT_PROCESS_DEBUG_INFO +{ + DWORD dwExitCode; +} + +alias EXIT_PROCESS_DEBUG_INFO _EXIT_PROCESS_DEBUG_INFO; +alias EXIT_PROCESS_DEBUG_INFO TEXITPROCESSDEBUGINFO; +alias EXIT_PROCESS_DEBUG_INFO* PEXITPROCESSDEBUGINFO; + +struct EXIT_THREAD_DEBUG_INFO +{ + DWORD dwExitCode; +} + +alias EXIT_THREAD_DEBUG_INFO _EXIT_THREAD_DEBUG_INFO; +alias EXIT_THREAD_DEBUG_INFO TEXITTHREADDEBUGINFO; +alias EXIT_THREAD_DEBUG_INFO* PEXITTHREADDEBUGINFO; + +struct LOAD_DLL_DEBUG_INFO +{ + HANDLE hFile; + LPVOID lpBaseOfDll; + DWORD dwDebugInfoFileOffset; + DWORD nDebugInfoSize; + LPVOID lpImageName; + ushort fUnicode; +} + +alias LOAD_DLL_DEBUG_INFO _LOAD_DLL_DEBUG_INFO; +alias LOAD_DLL_DEBUG_INFO TLOADDLLDEBUGINFO; +alias LOAD_DLL_DEBUG_INFO* PLOADDLLDEBUGINFO; + +struct UNLOAD_DLL_DEBUG_INFO +{ + LPVOID lpBaseOfDll; +} + +alias UNLOAD_DLL_DEBUG_INFO _UNLOAD_DLL_DEBUG_INFO; +alias UNLOAD_DLL_DEBUG_INFO TUNLOADDLLDEBUGINFO; +alias UNLOAD_DLL_DEBUG_INFO* PUNLOADDLLDEBUGINFO; + +struct OUTPUT_DEBUG_STRING_INFO +{ + LPSTR lpDebugStringData; + ushort fUnicode; + ushort nDebugStringLength; +} + +alias OUTPUT_DEBUG_STRING_INFO _OUTPUT_DEBUG_STRING_INFO; +alias OUTPUT_DEBUG_STRING_INFO TOUTPUTDEBUGSTRINGINFO; +alias OUTPUT_DEBUG_STRING_INFO* POUTPUTDEBUGSTRINGINFO; + +struct RIP_INFO +{ + DWORD dwError; + DWORD dwType; +} + +alias RIP_INFO _RIP_INFO; +alias RIP_INFO TRIPINFO; +alias RIP_INFO* PRIPINFO; + +struct DEBUG_EVENT +{ + DWORD dwDebugEventCode; + DWORD dwProcessId; + DWORD dwThreadId; + + union + { + struct + { + EXCEPTION_DEBUG_INFO Exception; + } + struct + { + CREATE_THREAD_DEBUG_INFO CreateThread; + } + struct + { + CREATE_PROCESS_DEBUG_INFO CreateProcessInfo; + } + struct + { + EXIT_THREAD_DEBUG_INFO ExitThread; + } + struct + { + EXIT_PROCESS_DEBUG_INFO ExitProcess; + } + struct + { + LOAD_DLL_DEBUG_INFO LoadDll; + } + struct + { + UNLOAD_DLL_DEBUG_INFO UnloadDll; + } + struct + { + OUTPUT_DEBUG_STRING_INFO DebugString; + } + struct + { + RIP_INFO RipInfo; + } + } +} + +alias DEBUG_EVENT* LPDEBUG_EVENT; +alias DEBUG_EVENT _DEBUG_EVENT; +alias DEBUG_EVENT TDEBUGEVENT; +alias DEBUG_EVENT* PDEBUGEVENT; + +struct DEBUGHOOKINFO +{ + DWORD idThread; + DWORD idThreadInstaller; + LPARAM lParam; + WPARAM wParam; + int code; +} + +alias DEBUGHOOKINFO TAGDEBUGHOOKINFO; +alias DEBUGHOOKINFO TDEBUGHOOKINFO; +alias DEBUGHOOKINFO* PDEBUGHOOKINFO; + +struct DELETEITEMSTRUCT +{ + UINT CtlType; + UINT CtlID; + UINT itemID; + HWND hwndItem; + UINT itemData; +} + +alias DELETEITEMSTRUCT TAGDELETEITEMSTRUCT; +alias DELETEITEMSTRUCT TDELETEITEMSTRUCT; +alias DELETEITEMSTRUCT* PDELETEITEMSTRUCT; + +struct DEV_BROADCAST_HDR +{ + ULONG dbch_size; + ULONG dbch_devicetype; + ULONG dbch_reserved; +} + +alias DEV_BROADCAST_HDR* PDEV_BROADCAST_HDR; +alias DEV_BROADCAST_HDR _DEV_BROADCAST_HDR; +alias DEV_BROADCAST_HDR TDEVBROADCASTHDR; +alias DEV_BROADCAST_HDR* PDEVBROADCASTHDR; + +struct DEV_BROADCAST_OEM +{ + ULONG dbco_size; + ULONG dbco_devicetype; + ULONG dbco_reserved; + ULONG dbco_identifier; + ULONG dbco_suppfunc; +} + +alias DEV_BROADCAST_OEM* PDEV_BROADCAST_OEM; +alias DEV_BROADCAST_OEM _DEV_BROADCAST_OEM; +alias DEV_BROADCAST_OEM TDEVBROADCASTOEM; +alias DEV_BROADCAST_OEM* PDEVBROADCASTOEM; + +struct DEV_BROADCAST_PORT +{ + ULONG dbcp_size; + ULONG dbcp_devicetype; + ULONG dbcp_reserved; + char[1 + 0] dbcp_name; +} + +alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT; +alias DEV_BROADCAST_PORT _DEV_BROADCAST_PORT; +alias DEV_BROADCAST_PORT TDEVBROADCASTPORT; +alias DEV_BROADCAST_PORT* PDEVBROADCASTPORT; + +struct _DEV_BROADCAST_USERDEFINED +{ + _DEV_BROADCAST_HDR dbud_dbh; + char[1 + 0] dbud_szName; + ubyte[1 + 0] dbud_rgbUserDefined; +} + +alias _DEV_BROADCAST_USERDEFINED TDEVBROADCASTUSERDEFINED; +alias _DEV_BROADCAST_USERDEFINED* PDEVBROADCASTUSERDEFINED; + +struct DEV_BROADCAST_VOLUME +{ + ULONG dbcv_size; + ULONG dbcv_devicetype; + ULONG dbcv_reserved; + ULONG dbcv_unitmask; + USHORT dbcv_flags; +} + +alias DEV_BROADCAST_VOLUME* PDEV_BROADCAST_VOLUME; +alias DEV_BROADCAST_VOLUME _DEV_BROADCAST_VOLUME; +alias DEV_BROADCAST_VOLUME TDEVBROADCASTVOLUME; +alias DEV_BROADCAST_VOLUME* PDEVBROADCASTVOLUME; + +struct DEVMODE +{ + BCHAR[1 + CCHDEVICENAME-1] dmDeviceName; + ushort dmSpecVersion; + ushort dmDriverVersion; + ushort dmSize; + ushort dmDriverExtra; + DWORD dmFields; + int dmOrientation; + int dmPaperSize; + int dmPaperLength; + int dmPaperWidth; + int dmScale; + int dmCopies; + int dmDefaultSource; + int dmPrintQuality; + int dmColor; + int dmDuplex; + int dmYResolution; + int dmTTOption; + int dmCollate; + BCHAR[1 + CCHFORMNAME-1] dmFormName; + ushort dmLogPixels; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + DWORD dmDisplayFlags; + DWORD dmDisplayFrequency; + DWORD dmICMMethod; + DWORD dmICMIntent; + DWORD dmMediaType; + DWORD dmDitherType; + DWORD dmICCManufacturer; + DWORD dmICCModel; +} + +alias DEVMODE* LPDEVMODE; +alias DEVMODE _DEVICEMODE; +alias DEVMODE DEVICEMODE; +alias DEVMODE TDEVICEMODE; +alias DEVMODE TDEVICEMODEA; +alias DEVMODE TDEVMODE; +alias DEVMODE* PDEVMODE; + +struct DEVNAMES +{ + ushort wDriverOffset; + ushort wDeviceOffset; + ushort wOutputOffset; + ushort wDefault; +} + +alias DEVNAMES* LPDEVNAMES; +alias DEVNAMES TAGDEVNAMES; +alias DEVNAMES TDEVNAMES; +alias DEVNAMES* PDEVNAMES; + +struct DIBSECTION +{ + BITMAP dsBm; + BITMAPINFOHEADER dsBmih; + DWORD[1 + 2] dsBitfields; + HANDLE dshSection; + DWORD dsOffset; +} + +alias DIBSECTION TAGDIBSECTION; +alias DIBSECTION TDIBSECTION; +alias DIBSECTION* PDIBSECTION; + +union LARGE_INTEGER +{ + struct + { + DWORD LowPart; + LONG HighPart; + }; + struct u + { + DWORD LowPart; + LONG HighPart; + }; + LONGLONG QuadPart; +} + +alias LARGE_INTEGER* PLARGE_INTEGER; +alias LARGE_INTEGER _LARGE_INTEGER; +alias LARGE_INTEGER TLARGEINTEGER; +alias LARGE_INTEGER* PLARGEINTEGER; + +struct DISK_GEOMETRY +{ + LARGE_INTEGER Cylinders; + MEDIA_TYPE MediaType; + DWORD TracksPerCylinder; + DWORD SectorsPerTrack; + DWORD BytesPerSector; +} + +alias DISK_GEOMETRY _DISK_GEOMETRY; +alias DISK_GEOMETRY TDISKGEOMETRY; +alias DISK_GEOMETRY* PDISKGEOMETRY; + +struct DISK_PERFORMANCE +{ + LARGE_INTEGER BytesRead; + LARGE_INTEGER BytesWritten; + LARGE_INTEGER ReadTime; + LARGE_INTEGER WriteTime; + DWORD ReadCount; + DWORD WriteCount; + DWORD QueueDepth; +} + +alias DISK_PERFORMANCE _DISK_PERFORMANCE; +alias DISK_PERFORMANCE TDISKPERFORMANCE; +alias DISK_PERFORMANCE* PDISKPERFORMANCE; + +align(1) struct DLGITEMTEMPLATE +{ + DWORD style; + DWORD dwExtendedStyle; + int x; + int y; + int cx; + int cy; + ushort id; +} + +alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATE; +alias DLGITEMTEMPLATE TDLGITEMTEMPLATE; +alias DLGITEMTEMPLATE* PDLGITEMTEMPLATE; + +align(1) struct DLGTEMPLATE +{ + DWORD style; + DWORD dwExtendedStyle; + ushort cdit; + int x; + int y; + int cx; + int cy; +} + +alias DLGTEMPLATE* LPDLGTEMPLATE; +alias DLGTEMPLATE* LPCDLGTEMPLATE; +alias DLGTEMPLATE TDLGTEMPLATE; +alias DLGTEMPLATE* PDLGTEMPLATE; + +struct DOC_INFO_1 +{ + LPTSTR pDocName; + LPTSTR pOutputFile; + LPTSTR pDatatype; +} + +alias DOC_INFO_1 _DOC_INFO_1; +alias DOC_INFO_1 TDOCINFO1; +alias DOC_INFO_1* PDOCINFO1; + +struct DOC_INFO_2 +{ + LPTSTR pDocName; + LPTSTR pOutputFile; + LPTSTR pDatatype; + DWORD dwMode; + DWORD JobId; +} + +alias DOC_INFO_2 _DOC_INFO_2; +alias DOC_INFO_2 TDOCINFO2; +alias DOC_INFO_2* PDOCINFO2; + +struct DOCINFOA +{ + int cbSize; + LPCSTR lpszDocName; + LPCSTR lpszOutput; + LPCSTR lpszDatatype; + DWORD fwType; +} +alias DOCINFOA TDOCINFOA; + +struct DOCINFOW +{ + int cbSize; + LPCWSTR lpszDocName; + LPCWSTR lpszOutput; + LPCWSTR lpszDatatype; + DWORD fwType; +} +alias DOCINFOW TDOCINFOW; + +version(Win32SansUnicode) +{ + alias DOCINFOA DOCINFO; +} +else +{ + alias DOCINFOW DOCINFO; +} +alias DOCINFO TDOCINFO; +alias DOCINFO* LPDOCINFO; +alias DOCINFO* PDOCINFO; + +struct DRAGLISTINFO +{ + UINT uNotification; + HWND hWnd; + POINT ptCursor; +} + +alias DRAGLISTINFO* LPDRAGLISTINFO; +alias DRAGLISTINFO TDRAGLISTINFO; +alias DRAGLISTINFO* PDRAGLISTINFO; + +struct DRAWITEMSTRUCT +{ + UINT CtlType; + UINT CtlID; + UINT itemID; + UINT itemAction; + UINT itemState; + HWND hwndItem; + HDC hDC; + RECT rcItem; + DWORD itemData; +} + +alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT; +alias DRAWITEMSTRUCT TAGDRAWITEMSTRUCT; +alias DRAWITEMSTRUCT TDRAWITEMSTRUCT; +alias DRAWITEMSTRUCT* PDRAWITEMSTRUCT; + +struct DRAWTEXTPARAMS +{ + UINT cbSize; + int iTabLength; + int iLeftMargin; + int iRightMargin; + UINT uiLengthDrawn; +} + +alias DRAWTEXTPARAMS* LPDRAWTEXTPARAMS; +alias DRAWTEXTPARAMS TDRAWTEXTPARAMS; +alias DRAWTEXTPARAMS* PDRAWTEXTPARAMS; + +struct PARTITION_INFORMATION +{ + ubyte PartitionType; + ubyte BootIndicator; + ubyte RecognizedPartition; + ubyte RewritePartition; + LARGE_INTEGER StartingOffset; + LARGE_INTEGER PartitionLength; + LARGE_INTEGER HiddenSectors; +} + +alias PARTITION_INFORMATION _PARTITION_INFORMATION; +alias PARTITION_INFORMATION TPARTITIONINFORMATION; +alias PARTITION_INFORMATION* PPARTITIONINFORMATION; + +struct DRIVE_LAYOUT_INFORMATION +{ + DWORD PartitionCount; + DWORD Signature; + PARTITION_INFORMATION[1 + 0] PartitionEntry; +} + +alias DRIVE_LAYOUT_INFORMATION _DRIVE_LAYOUT_INFORMATION; +alias DRIVE_LAYOUT_INFORMATION TDRIVELAYOUTINFORMATION; +alias DRIVE_LAYOUT_INFORMATION* PDRIVELAYOUTINFORMATION; + +struct DRIVER_INFO_1 +{ + LPTSTR pName; +} + +alias DRIVER_INFO_1 _DRIVER_INFO_1; +alias DRIVER_INFO_1 TDRIVERINFO1; +alias DRIVER_INFO_1* PDRIVERINFO1; + +struct DRIVER_INFO_2 +{ + DWORD cVersion; + LPTSTR pName; + LPTSTR pEnvironment; + LPTSTR pDriverPath; + LPTSTR pDataFile; + LPTSTR pConfigFile; +} + +alias DRIVER_INFO_2 _DRIVER_INFO_2; +alias DRIVER_INFO_2 TDRIVERINFO2; +alias DRIVER_INFO_2* PDRIVERINFO2; + +struct DRIVER_INFO_3 +{ + DWORD cVersion; + LPTSTR pName; + LPTSTR pEnvironment; + LPTSTR pDriverPath; + LPTSTR pDataFile; + LPTSTR pConfigFile; + LPTSTR pHelpFile; + LPTSTR pDependentFiles; + LPTSTR pMonitorName; + LPTSTR pDefaultDataType; +} + +alias DRIVER_INFO_3 _DRIVER_INFO_3; +alias DRIVER_INFO_3 TDRIVERINFO3; +alias DRIVER_INFO_3* PDRIVERINFO3; + +struct EDITSTREAM +{ + DWORD dwCookie; + DWORD dwError; + EDITSTREAMCALLBACK pfnCallback; +} + +alias EDITSTREAM _EDITSTREAM; +alias EDITSTREAM TEDITSTREAM; +alias EDITSTREAM* PEDITSTREAM; + +struct EMR +{ + DWORD iType; + DWORD nSize; +} + +alias EMR TAGEMR; +alias EMR TEMR; +alias EMR* PEMR; + +struct EMRANGLEARC +{ + EMR emr; + POINTL ptlCenter; + DWORD nRadius; + FLOAT eStartAngle; + FLOAT eSweepAngle; +} + +alias EMRANGLEARC TAGEMRANGLEARC; +alias EMRANGLEARC TEMRANGLEARC; +alias EMRANGLEARC* PEMRANGLEARC; + +struct EMRARC +{ + EMR emr; + RECTL rclBox; + POINTL ptlStart; + POINTL ptlEnd; +} + +alias EMRARC TAGEMRARC; +alias EMRARC TEMRARC; +alias EMRARC* PEMRARC; +alias EMRARC EMRARCTO; +alias EMRARC TEMRARCTO; +alias EMRARC* PEMRARCTO; +alias EMRARC EMRCHORD; +alias EMRARC TEMRCHORD; +alias EMRARC* PEMRCHORD; +alias EMRARC EMRPIE; +alias EMRARC TEMRPIE; +alias EMRARC* PEMRPIE; + +struct XFORM +{ + FLOAT eM11; + FLOAT eM12; + FLOAT eM21; + FLOAT eM22; + FLOAT eDx; + FLOAT eDy; +} + +alias XFORM* LPXFORM; +alias XFORM _XFORM; +alias XFORM TXFORM; +alias XFORM* PXFORM; + +struct EMRBITBLT +{ + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; +} + +alias EMRBITBLT TAGEMRBITBLT; +alias EMRBITBLT TEMRBITBLT; +alias EMRBITBLT* PEMRBITBLT; + +struct LOGBRUSH +{ + UINT lbStyle; + COLORREF lbColor; + LONG lbHatch; +} + +alias LOGBRUSH TAGLOGBRUSH; +alias LOGBRUSH TLOGBRUSH; +alias LOGBRUSH* PLOGBRUSH; + +struct EMRCREATEBRUSHINDIRECT +{ + EMR emr; + DWORD ihBrush; + LOGBRUSH lb; +} + +alias EMRCREATEBRUSHINDIRECT TAGEMRCREATEBRUSHINDIRECT; +alias EMRCREATEBRUSHINDIRECT TEMRCREATEBRUSHINDIRECT; +alias EMRCREATEBRUSHINDIRECT* PEMRCREATEBRUSHINDIRECT; +alias LONG LCSCSTYPE; +alias LONG LCSGAMUTMATCH; + +struct LOGCOLORSPACE +{ + DWORD lcsSignature; + DWORD lcsVersion; + DWORD lcsSize; + LCSCSTYPE lcsCSType; + LCSGAMUTMATCH lcsIntent; + CIEXYZTRIPLE lcsEndpoints; + DWORD lcsGammaRed; + DWORD lcsGammaGreen; + DWORD lcsGammaBlue; + TCHAR[1 + MAX_PATH-1] lcsFilename; +} + +alias LOGCOLORSPACE* LPLOGCOLORSPACE; +alias LOGCOLORSPACE TAGLOGCOLORSPACE; +alias LOGCOLORSPACE TLOGCOLORSPACE; +alias LOGCOLORSPACE TLOGCOLORSPACEA; +alias LOGCOLORSPACE* PLOGCOLORSPACE; + +struct EMRCREATECOLORSPACE +{ + EMR emr; + DWORD ihCS; + LOGCOLORSPACE lcs; +} + +alias EMRCREATECOLORSPACE TAGEMRCREATECOLORSPACE; +alias EMRCREATECOLORSPACE TEMRCREATECOLORSPACE; +alias EMRCREATECOLORSPACE* PEMRCREATECOLORSPACE; + +struct EMRCREATEDIBPATTERNBRUSHPT +{ + EMR emr; + DWORD ihBrush; + DWORD iUsage; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; +} + +alias EMRCREATEDIBPATTERNBRUSHPT TAGEMRCREATEDIBPATTERNBRUSHPT; +alias EMRCREATEDIBPATTERNBRUSHPT TEMRCREATEDIBPATTERNBRUSHPT; +alias EMRCREATEDIBPATTERNBRUSHPT PEMRCREATEDIBPATTERNBRUSHPT; + +struct EMRCREATEMONOBRUSH +{ + EMR emr; + DWORD ihBrush; + DWORD iUsage; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; +} + +alias EMRCREATEMONOBRUSH TAGEMRCREATEMONOBRUSH; +alias EMRCREATEMONOBRUSH TEMRCREATEMONOBRUSH; +alias EMRCREATEMONOBRUSH* PEMRCREATEMONOBRUSH; + +struct PALETTEENTRY +{ + ubyte peRed; + ubyte peGreen; + ubyte peBlue; + ubyte peFlags; +} + +alias PALETTEENTRY* LPPALETTEENTRY; +alias PALETTEENTRY TAGPALETTEENTRY; +alias PALETTEENTRY TPALETTEENTRY; +alias PALETTEENTRY* PPALETTEENTRY; + +struct LOGPALETTE +{ + ushort palVersion; + ushort palNumEntries; + PALETTEENTRY[1 + 0] palPalEntry; +} + +alias LOGPALETTE* LPLOGPALETTE; +alias LOGPALETTE TAGLOGPALETTE; +alias LOGPALETTE TLOGPALETTE; +alias LOGPALETTE* PLOGPALETTE; + +struct EMRCREATEPALETTE +{ + EMR emr; + DWORD ihPal; + LOGPALETTE lgpl; +} + +alias EMRCREATEPALETTE TAGEMRCREATEPALETTE; +alias EMRCREATEPALETTE TEMRCREATEPALETTE; +alias EMRCREATEPALETTE* PEMRCREATEPALETTE; + +struct LOGPEN +{ + UINT lopnStyle; + POINT lopnWidth; + COLORREF lopnColor; +} + +alias LOGPEN TAGLOGPEN; +alias LOGPEN TLOGPEN; +alias LOGPEN* PLOGPEN; + +struct EMRCREATEPEN +{ + EMR emr; + DWORD ihPen; + LOGPEN lopn; +} + +alias EMRCREATEPEN TAGEMRCREATEPEN; +alias EMRCREATEPEN TEMRCREATEPEN; +alias EMRCREATEPEN* PEMRCREATEPEN; + +struct EMRELLIPSE +{ + EMR emr; + RECTL rclBox; +} + +alias EMRELLIPSE TAGEMRELLIPSE; +alias EMRELLIPSE TEMRELLIPSE; +alias EMRELLIPSE* PEMRELLIPSE; +alias EMRELLIPSE EMRRECTANGLE; +alias EMRELLIPSE TEMRRECTANGLE; +alias EMRELLIPSE* PEMRRECTANGLE; + +struct EMREOF +{ + EMR emr; + DWORD nPalEntries; + DWORD offPalEntries; + DWORD nSizeLast; +} + +alias EMREOF TAGEMREOF; +alias EMREOF TEMREOF; +alias EMREOF* PEMREOF; + +struct EMREXCLUDECLIPRECT +{ + EMR emr; + RECTL rclClip; +} + +alias EMREXCLUDECLIPRECT TAGEMREXCLUDECLIPRECT; +alias EMREXCLUDECLIPRECT TEMREXCLUDECLIPRECT; +alias EMREXCLUDECLIPRECT* PEMREXCLUDECLIPRECT; +alias EMREXCLUDECLIPRECT EMRINTERSECTCLIPRECT; +alias EMREXCLUDECLIPRECT TEMRINTERSECTCLIPRECT; +alias EMREXCLUDECLIPRECT* PEMRINTERSECTCLIPRECT; + +struct PANOSE +{ + ubyte bFamilyType; + ubyte bSerifStyle; + ubyte bWeight; + ubyte bProportion; + ubyte bContrast; + ubyte bStrokeVariation; + ubyte bArmStyle; + ubyte bLetterform; + ubyte bMidline; + ubyte bXHeight; +} + +alias PANOSE TAGPANOSE; +alias PANOSE TPANOSE; +alias PANOSE* PPANOSE; + +struct EXTLOGFONT +{ + LOGFONT elfLogFont; + BCHAR[1 + LF_FULLFACESIZE-1] elfFullName; + BCHAR[1 + LF_FACESIZE-1] elfStyle; + DWORD elfVersion; + DWORD elfStyleSize; + DWORD elfMatch; + DWORD elfReserved; + ubyte[1 + ELF_VENDOR_SIZE-1] elfVendorId; + DWORD elfCulture; + PANOSE elfPanose; +} + +alias EXTLOGFONT TAGEXTLOGFONT; +alias EXTLOGFONT TEXTLOGFONT; +alias EXTLOGFONT* PEXTLOGFONT; + +struct EMREXTCREATEFONTINDIRECTW +{ + EMR emr; + DWORD ihFont; + EXTLOGFONT elfw; +} + +alias EMREXTCREATEFONTINDIRECTW TAGEMREXTCREATEFONTINDIRECTW; +alias EMREXTCREATEFONTINDIRECTW TEMREXTCREATEFONTINDIRECTW; +alias EMREXTCREATEFONTINDIRECTW* PEMREXTCREATEFONTINDIRECTW; + +struct EXTLOGPEN +{ + UINT elpPenStyle; + UINT elpWidth; + UINT elpBrushStyle; + COLORREF elpColor; + LONG elpHatch; + DWORD elpNumEntries; + DWORD[1 + 0] elpStyleEntry; +} + +alias EXTLOGPEN TAGEXTLOGPEN; +alias EXTLOGPEN TEXTLOGPEN; +alias EXTLOGPEN* PEXTLOGPEN; + +struct EMREXTCREATEPEN +{ + EMR emr; + DWORD ihPen; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; + EXTLOGPEN elp; +} + +alias EMREXTCREATEPEN TAGEMREXTCREATEPEN; +alias EMREXTCREATEPEN TEMREXTCREATEPEN; +alias EMREXTCREATEPEN* PEMREXTCREATEPEN; + +struct EMREXTFLOODFILL +{ + EMR emr; + POINTL ptlStart; + COLORREF crColor; + DWORD iMode; +} + +alias EMREXTFLOODFILL TAGEMREXTFLOODFILL; +alias EMREXTFLOODFILL TEMREXTFLOODFILL; +alias EMREXTFLOODFILL* PEMREXTFLOODFILL; + +struct EMREXTSELECTCLIPRGN +{ + EMR emr; + DWORD cbRgnData; + DWORD iMode; + ubyte[1 + 0] RgnData; +} + +alias EMREXTSELECTCLIPRGN TAGEMREXTSELECTCLIPRGN; +alias EMREXTSELECTCLIPRGN TEMREXTSELECTCLIPRGN; +alias EMREXTSELECTCLIPRGN* PEMREXTSELECTCLIPRGN; + +struct EMRTEXT +{ + POINTL ptlReference; + DWORD nChars; + DWORD offString; + DWORD fOptions; + RECTL rcl; + DWORD offDx; +} + +alias EMRTEXT TAGEMRTEXT; +alias EMRTEXT TEMRTEXT; +alias EMRTEXT* PEMRTEXT; + +struct EMREXTTEXTOUTA +{ + EMR emr; + RECTL rclBounds; + DWORD iGraphicsMode; + FLOAT exScale; + FLOAT eyScale; + EMRTEXT emrtext; +} + +alias EMREXTTEXTOUTA TAGEMREXTTEXTOUTA; +alias EMREXTTEXTOUTA TEMREXTTEXTOUTA; +alias EMREXTTEXTOUTA* PEMREXTTEXTOUTA; +alias EMREXTTEXTOUTA EMREXTTEXTOUTW; +alias EMREXTTEXTOUTA TEMREXTTEXTOUTW; +alias EMREXTTEXTOUTA* PEMREXTTEXTOUTW; + +struct EMRFILLPATH +{ + EMR emr; + RECTL rclBounds; +} + +alias EMRFILLPATH TAGEMRFILLPATH; +alias EMRFILLPATH TEMRFILLPATH; +alias EMRFILLPATH* PEMRFILLPATH; +alias EMRFILLPATH EMRSTROKEANDFILLPATH; +alias EMRFILLPATH TEMRSTROKEANDFILLPATH; +alias EMRFILLPATH* PEMRSTROKEANDFILLPATH; +alias EMRFILLPATH EMRSTROKEPATH; +alias EMRFILLPATH TEMRSTROKEPATH; +alias EMRFILLPATH* PEMRSTROKEPATH; + +struct EMRFILLRGN +{ + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + DWORD ihBrush; + ubyte[1 + 0] RgnData; +} + +alias EMRFILLRGN TAGEMRFILLRGN; +alias EMRFILLRGN TEMRFILLRGN; +alias EMRFILLRGN* PEMRFILLRGN; + +struct EMRFORMAT +{ + DWORD dSignature; + DWORD nVersion; + DWORD cbData; + DWORD offData; +} + +alias EMRFORMAT TAGEMRFORMAT; +alias EMRFORMAT TEMRFORMAT; +alias EMRFORMAT* PEMRFORMAT; + +struct SIZE +{ + LONG cx; + LONG cy; +} + +alias SIZE* LPSIZE; +alias SIZE TAGSIZE; +alias SIZE TSIZE; +alias SIZE* PSIZE; +alias SIZE SIZEL; +alias SIZE TSIZEL; +alias SIZE* PSIZEL; +alias SIZE* LPSIZEL; + +struct EMRFRAMERGN +{ + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + DWORD ihBrush; + SIZEL szlStroke; + ubyte[1 + 0] RgnData; +} + +alias EMRFRAMERGN TAGEMRFRAMERGN; +alias EMRFRAMERGN TEMRFRAMERGN; +alias EMRFRAMERGN* PEMRFRAMERGN; + +struct EMRGDICOMMENT +{ + EMR emr; + DWORD cbData; + ubyte[1 + 0] Data; +} + +alias EMRGDICOMMENT TAGEMRGDICOMMENT; +alias EMRGDICOMMENT TEMRGDICOMMENT; +alias EMRGDICOMMENT* PEMRGDICOMMENT; + +struct EMRINVERTRGN +{ + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + ubyte[1 + 0] RgnData; +} + +alias EMRINVERTRGN TAGEMRINVERTRGN; +alias EMRINVERTRGN TEMRINVERTRGN; +alias EMRINVERTRGN* PEMRINVERTRGN; +alias EMRINVERTRGN EMRPAINTRGN; +alias EMRINVERTRGN TEMRPAINTRGN; +alias EMRINVERTRGN* PEMRPAINTRGN; + +struct EMRLINETO +{ + EMR emr; + POINTL ptl; +} + +alias EMRLINETO TAGEMRLINETO; +alias EMRLINETO TEMRLINETO; +alias EMRLINETO* PEMRLINETO; +alias EMRLINETO EMRMOVETOEX; +alias EMRLINETO TEMRMOVETOEX; +alias EMRLINETO* PEMRMOVETOEX; + +struct EMRMASKBLT +{ + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG xMask; + LONG yMask; + DWORD iUsageMask; + DWORD offBmiMask; + DWORD cbBmiMask; + DWORD offBitsMask; + DWORD cbBitsMask; +} + +alias EMRMASKBLT TAGEMRMASKBLT; +alias EMRMASKBLT TEMRMASKBLT; +alias EMRMASKBLT* PEMRMASKBLT; + +struct EMRMODIFYWORLDTRANSFORM +{ + EMR emr; + XFORM xform; + DWORD iMode; +} + +alias EMRMODIFYWORLDTRANSFORM TAGEMRMODIFYWORLDTRANSFORM; +alias EMRMODIFYWORLDTRANSFORM TEMRMODIFYWORLDTRANSFORM; +alias EMRMODIFYWORLDTRANSFORM PEMRMODIFYWORLDTRANSFORM; + +struct EMROFFSETCLIPRGN +{ + EMR emr; + POINTL ptlOffset; +} + +alias EMROFFSETCLIPRGN TAGEMROFFSETCLIPRGN; +alias EMROFFSETCLIPRGN TEMROFFSETCLIPRGN; +alias EMROFFSETCLIPRGN* PEMROFFSETCLIPRGN; + +struct EMRPLGBLT +{ + EMR emr; + RECTL rclBounds; + POINTL[1 + 2] aptlDest; + LONG xSrc; + LONG ySrc; + LONG cxSrc; + LONG cySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG xMask; + LONG yMask; + DWORD iUsageMask; + DWORD offBmiMask; + DWORD cbBmiMask; + DWORD offBitsMask; + DWORD cbBitsMask; +} + +alias EMRPLGBLT TAGEMRPLGBLT; +alias EMRPLGBLT TEMRPLGBLT; +alias EMRPLGBLT* PEMRPLGBLT; + +struct EMRPOLYDRAW +{ + EMR emr; + RECTL rclBounds; + DWORD cptl; + POINTL[1 + 0] aptl; + ubyte[1 + 0] abTypes; +} + +alias EMRPOLYDRAW TAGEMRPOLYDRAW; +alias EMRPOLYDRAW TEMRPOLYDRAW; +alias EMRPOLYDRAW* PEMRPOLYDRAW; + +struct EMRPOLYDRAW16 +{ + EMR emr; + RECTL rclBounds; + DWORD cpts; + POINTS[1 + 0] apts; + ubyte[1 + 0] abTypes; +} + +alias EMRPOLYDRAW16 TAGEMRPOLYDRAW16; +alias EMRPOLYDRAW16 TEMRPOLYDRAW16; +alias EMRPOLYDRAW16* PEMRPOLYDRAW16; + +struct EMRPOLYLINE +{ + EMR emr; + RECTL rclBounds; + DWORD cptl; + POINTL[1 + 0] aptl; +} + +alias EMRPOLYLINE TAGEMRPOLYLINE; +alias EMRPOLYLINE TEMRPOLYLINE; +alias EMRPOLYLINE* PEMRPOLYLINE; +alias EMRPOLYLINE EMRPOLYBEZIER; +alias EMRPOLYLINE TEMRPOLYBEZIER; +alias EMRPOLYLINE* PEMRPOLYBEZIER; +alias EMRPOLYLINE EMRPOLYGON; +alias EMRPOLYLINE TEMRPOLYGON; +alias EMRPOLYLINE* PEMRPOLYGON; +alias EMRPOLYLINE EMRPOLYBEZIERTO; +alias EMRPOLYLINE TEMRPOLYBEZIERTO; +alias EMRPOLYLINE* PEMRPOLYBEZIERTO; +alias EMRPOLYLINE EMRPOLYLINETO; +alias EMRPOLYLINE TEMRPOLYLINETO; +alias EMRPOLYLINE* PEMRPOLYLINETO; + +struct EMRPOLYLINE16 +{ + EMR emr; + RECTL rclBounds; + DWORD cpts; + POINTL[1 + 0] apts; +} + +alias EMRPOLYLINE16 TAGEMRPOLYLINE16; +alias EMRPOLYLINE16 TEMRPOLYLINE16; +alias EMRPOLYLINE16* PEMRPOLYLINE16; +alias EMRPOLYLINE16 EMRPOLYBEZIER16; +alias EMRPOLYLINE16 TEMRPOLYBEZIER16; +alias EMRPOLYLINE16* PEMRPOLYBEZIER16; +alias EMRPOLYLINE16 EMRPOLYGON16; +alias EMRPOLYLINE16 TEMRPOLYGON16; +alias EMRPOLYLINE16* PEMRPOLYGON16; +alias EMRPOLYLINE16 EMRPOLYBEZIERTO16; +alias EMRPOLYLINE16 TEMRPOLYBEZIERTO16; +alias EMRPOLYLINE16* PEMRPOLYBEZIERTO16; +alias EMRPOLYLINE16 EMRPOLYLINETO16; +alias EMRPOLYLINE16 TEMRPOLYLINETO16; +alias EMRPOLYLINE16* PEMRPOLYLINETO16; + +struct EMRPOLYPOLYLINE +{ + EMR emr; + RECTL rclBounds; + DWORD nPolys; + DWORD cptl; + DWORD[1 + 0] aPolyCounts; + POINTL[1 + 0] aptl; +} + +alias EMRPOLYPOLYLINE TAGEMRPOLYPOLYLINE; +alias EMRPOLYPOLYLINE TEMRPOLYPOLYLINE; +alias EMRPOLYPOLYLINE* PEMRPOLYPOLYLINE; +alias EMRPOLYPOLYLINE EMRPOLYPOLYGON; +alias EMRPOLYPOLYLINE TEMRPOLYPOLYGON; +alias EMRPOLYPOLYLINE* PEMRPOLYPOLYGON; + +struct EMRPOLYPOLYLINE16 +{ + EMR emr; + RECTL rclBounds; + DWORD nPolys; + DWORD cpts; + DWORD[1 + 0] aPolyCounts; + POINTS[1 + 0] apts; +} + +alias EMRPOLYPOLYLINE16 TAGEMRPOLYPOLYLINE16; +alias EMRPOLYPOLYLINE16 TEMRPOLYPOLYLINE16; +alias EMRPOLYPOLYLINE16* PEMRPOLYPOLYLINE16; +alias EMRPOLYPOLYLINE16 EMRPOLYPOLYGON16; +alias EMRPOLYPOLYLINE16 TEMRPOLYPOLYGON16; +alias EMRPOLYPOLYLINE16* PEMRPOLYPOLYGON16; + +struct EMRPOLYTEXTOUTA +{ + EMR emr; + RECTL rclBounds; + DWORD iGraphicsMode; + FLOAT exScale; + FLOAT eyScale; + LONG cStrings; + EMRTEXT[1 + 0] aemrtext; +} + +alias EMRPOLYTEXTOUTA TAGEMRPOLYTEXTOUTA; +alias EMRPOLYTEXTOUTA TEMRPOLYTEXTOUTA; +alias EMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTA; +alias EMRPOLYTEXTOUTA EMRPOLYTEXTOUTW; +alias EMRPOLYTEXTOUTA TEMRPOLYTEXTOUTW; +alias EMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTW; + +struct EMRRESIZEPALETTE +{ + EMR emr; + DWORD ihPal; + DWORD cEntries; +} + +alias EMRRESIZEPALETTE TAGEMRRESIZEPALETTE; +alias EMRRESIZEPALETTE TEMRRESIZEPALETTE; +alias EMRRESIZEPALETTE* PEMRRESIZEPALETTE; + +struct EMRRESTOREDC +{ + EMR emr; + LONG iRelative; +} + +alias EMRRESTOREDC TAGEMRRESTOREDC; +alias EMRRESTOREDC TEMRRESTOREDC; +alias EMRRESTOREDC* PEMRRESTOREDC; + +struct EMRROUNDRECT +{ + EMR emr; + RECTL rclBox; + SIZEL szlCorner; +} + +alias EMRROUNDRECT TAGEMRROUNDRECT; +alias EMRROUNDRECT TEMRROUNDRECT; +alias EMRROUNDRECT* PEMRROUNDRECT; + +struct EMRSCALEVIEWPORTEXTEX +{ + EMR emr; + LONG xNum; + LONG xDenom; + LONG yNum; + LONG yDenom; +} + +alias EMRSCALEVIEWPORTEXTEX TAGEMRSCALEVIEWPORTEXTEX; +alias EMRSCALEVIEWPORTEXTEX TEMRSCALEVIEWPORTEXTEX; +alias EMRSCALEVIEWPORTEXTEX* PEMRSCALEVIEWPORTEXTEX; +alias EMRSCALEVIEWPORTEXTEX EMRSCALEWINDOWEXTEX; +alias EMRSCALEVIEWPORTEXTEX TEMRSCALEWINDOWEXTEX; +alias EMRSCALEVIEWPORTEXTEX* PEMRSCALEWINDOWEXTEX; + +struct EMRSELECTCOLORSPACE +{ + EMR emr; + DWORD ihCS; +} + +alias EMRSELECTCOLORSPACE TAGEMRSELECTCOLORSPACE; +alias EMRSELECTCOLORSPACE TEMRSELECTCOLORSPACE; +alias EMRSELECTCOLORSPACE* PEMRSELECTCOLORSPACE; +alias EMRSELECTCOLORSPACE EMRDELETECOLORSPACE; +alias EMRSELECTCOLORSPACE TEMRDELETECOLORSPACE; +alias EMRSELECTCOLORSPACE* PEMRDELETECOLORSPACE; + +struct EMRSELECTOBJECT +{ + EMR emr; + DWORD ihObject; +} + +alias EMRSELECTOBJECT TAGEMRSELECTOBJECT; +alias EMRSELECTOBJECT TEMRSELECTOBJECT; +alias EMRSELECTOBJECT* PEMRSELECTOBJECT; +alias EMRSELECTOBJECT EMRDELETEOBJECT; +alias EMRSELECTOBJECT TEMRDELETEOBJECT; +alias EMRSELECTOBJECT* PEMRDELETEOBJECT; + +struct EMRSELECTPALETTE +{ + EMR emr; + DWORD ihPal; +} + +alias EMRSELECTPALETTE TAGEMRSELECTPALETTE; +alias EMRSELECTPALETTE TEMRSELECTPALETTE; +alias EMRSELECTPALETTE* PEMRSELECTPALETTE; + +struct EMRSETARCDIRECTION +{ + EMR emr; + DWORD iArcDirection; +} + +alias EMRSETARCDIRECTION TAGEMRSETARCDIRECTION; +alias EMRSETARCDIRECTION TEMRSETARCDIRECTION; +alias EMRSETARCDIRECTION* PEMRSETARCDIRECTION; + +struct EMRSETBKCOLOR +{ + EMR emr; + COLORREF crColor; +} + +alias EMRSETBKCOLOR TAGEMRSETTEXTCOLOR; +alias EMRSETBKCOLOR TEMRSETBKCOLOR; +alias EMRSETBKCOLOR* PEMRSETBKCOLOR; +alias EMRSETBKCOLOR EMRSETTEXTCOLOR; +alias EMRSETBKCOLOR TEMRSETTEXTCOLOR; +alias EMRSETBKCOLOR* PEMRSETTEXTCOLOR; + +struct EMRSETCOLORADJUSTMENT +{ + EMR emr; + COLORADJUSTMENT ColorAdjustment; +} + +alias EMRSETCOLORADJUSTMENT TAGEMRSETCOLORADJUSTMENT; +alias EMRSETCOLORADJUSTMENT TEMRSETCOLORADJUSTMENT; +alias EMRSETCOLORADJUSTMENT* PEMRSETCOLORADJUSTMENT; + +struct EMRSETDIBITSTODEVICE +{ + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG xSrc; + LONG ySrc; + LONG cxSrc; + LONG cySrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + DWORD iUsageSrc; + DWORD iStartScan; + DWORD cScans; +} + +alias EMRSETDIBITSTODEVICE TAGEMRSETDIBITSTODEVICE; +alias EMRSETDIBITSTODEVICE TEMRSETDIBITSTODEVICE; +alias EMRSETDIBITSTODEVICE* PEMRSETDIBITSTODEVICE; + +struct EMRSETMAPPERFLAGS +{ + EMR emr; + DWORD dwFlags; +} + +alias EMRSETMAPPERFLAGS TAGEMRSETMAPPERFLAGS; +alias EMRSETMAPPERFLAGS TEMRSETMAPPERFLAGS; +alias EMRSETMAPPERFLAGS* PEMRSETMAPPERFLAGS; + +struct EMRSETMITERLIMIT +{ + EMR emr; + FLOAT eMiterLimit; +} + +alias EMRSETMITERLIMIT TAGEMRSETMITERLIMIT; +alias EMRSETMITERLIMIT TEMRSETMITERLIMIT; +alias EMRSETMITERLIMIT* PEMRSETMITERLIMIT; + +struct EMRSETPALETTEENTRIES +{ + EMR emr; + DWORD ihPal; + DWORD iStart; + DWORD cEntries; + PALETTEENTRY[1 + 0] aPalEntries; +} + +alias EMRSETPALETTEENTRIES TAGEMRSETPALETTEENTRIES; +alias EMRSETPALETTEENTRIES TEMRSETPALETTEENTRIES; +alias EMRSETPALETTEENTRIES* PEMRSETPALETTEENTRIES; + +struct EMRSETPIXELV +{ + EMR emr; + POINTL ptlPixel; + COLORREF crColor; +} + +alias EMRSETPIXELV TAGEMRSETPIXELV; +alias EMRSETPIXELV TEMRSETPIXELV; +alias EMRSETPIXELV* PEMRSETPIXELV; + +struct EMRSETVIEWPORTEXTEX +{ + EMR emr; + SIZEL szlExtent; +} + +alias EMRSETVIEWPORTEXTEX TAGEMRSETVIEWPORTEXTEX; +alias EMRSETVIEWPORTEXTEX TEMRSETVIEWPORTEXTEX; +alias EMRSETVIEWPORTEXTEX* PEMRSETVIEWPORTEXTEX; +alias EMRSETVIEWPORTEXTEX EMRSETWINDOWEXTEX; +alias EMRSETVIEWPORTEXTEX TEMRSETWINDOWEXTEX; +alias EMRSETVIEWPORTEXTEX* PEMRSETWINDOWEXTEX; + +struct EMRSETVIEWPORTORGEX +{ + EMR emr; + POINTL ptlOrigin; +} + +alias EMRSETVIEWPORTORGEX TAGEMRSETVIEWPORTORGEX; +alias EMRSETVIEWPORTORGEX TEMRSETVIEWPORTORGEX; +alias EMRSETVIEWPORTORGEX* PEMRSETVIEWPORTORGEX; +alias EMRSETVIEWPORTORGEX EMRSETWINDOWORGEX; +alias EMRSETVIEWPORTORGEX TEMRSETWINDOWORGEX; +alias EMRSETVIEWPORTORGEX* PEMRSETWINDOWORGEX; +alias EMRSETVIEWPORTORGEX EMRSETBRUSHORGEX; +alias EMRSETVIEWPORTORGEX TEMRSETBRUSHORGEX; +alias EMRSETVIEWPORTORGEX* PEMRSETBRUSHORGEX; + +struct EMRSETWORLDTRANSFORM +{ + EMR emr; + XFORM xform; +} + +alias EMRSETWORLDTRANSFORM TAGEMRSETWORLDTRANSFORM; +alias EMRSETWORLDTRANSFORM TEMRSETWORLDTRANSFORM; +alias EMRSETWORLDTRANSFORM* PEMRSETWORLDTRANSFORM; + +struct EMRSTRETCHBLT +{ + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG cxSrc; + LONG cySrc; +} + +alias EMRSTRETCHBLT TAGEMRSTRETCHBLT; +alias EMRSTRETCHBLT TEMRSTRETCHBLT; +alias EMRSTRETCHBLT* PEMRSTRETCHBLT; + +struct EMRSTRETCHDIBITS +{ + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG xSrc; + LONG ySrc; + LONG cxSrc; + LONG cySrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + DWORD iUsageSrc; + DWORD dwRop; + LONG cxDest; + LONG cyDest; +} + +alias EMRSTRETCHDIBITS TAGEMRSTRETCHDIBITS; +alias EMRSTRETCHDIBITS TEMRSTRETCHDIBITS; +alias EMRSTRETCHDIBITS* PEMRSTRETCHDIBITS; + +struct EMRABORTPATH +{ + EMR emr; +} + +alias EMRABORTPATH TEMRABORTPATH; +alias EMRABORTPATH* PEMRABORTPATH; +alias EMRABORTPATH TAGABORTPATH; +alias EMRABORTPATH TABORTPATH; +alias EMRABORTPATH EMRBEGINPATH; +alias EMRABORTPATH TEMRBEGINPATH; +alias EMRABORTPATH* PEMRBEGINPATH; +alias EMRABORTPATH EMRENDPATH; +alias EMRABORTPATH TEMRENDPATH; +alias EMRABORTPATH* PEMRENDPATH; +alias EMRABORTPATH EMRCLOSEFIGURE; +alias EMRABORTPATH TEMRCLOSEFIGURE; +alias EMRABORTPATH* PEMRCLOSEFIGURE; +alias EMRABORTPATH EMRFLATTENPATH; +alias EMRABORTPATH TEMRFLATTENPATH; +alias EMRABORTPATH* PEMRFLATTENPATH; +alias EMRABORTPATH EMRWIDENPATH; +alias EMRABORTPATH TEMRWIDENPATH; +alias EMRABORTPATH* PEMRWIDENPATH; +alias EMRABORTPATH EMRSETMETARGN; +alias EMRABORTPATH TEMRSETMETARGN; +alias EMRABORTPATH* PEMRSETMETARGN; +alias EMRABORTPATH EMRSAVEDC; +alias EMRABORTPATH TEMRSAVEDC; +alias EMRABORTPATH* PEMRSAVEDC; +alias EMRABORTPATH EMRREALIZEPALETTE; +alias EMRABORTPATH TEMRREALIZEPALETTE; +alias EMRABORTPATH* PEMRREALIZEPALETTE; + +struct EMRSELECTCLIPPATH +{ + EMR emr; + DWORD iMode; +} + +alias EMRSELECTCLIPPATH TAGEMRSELECTCLIPPATH; +alias EMRSELECTCLIPPATH TEMRSELECTCLIPPATH; +alias EMRSELECTCLIPPATH* PEMRSELECTCLIPPATH; +alias EMRSELECTCLIPPATH EMRSETBKMODE; +alias EMRSELECTCLIPPATH TEMRSETBKMODE; +alias EMRSELECTCLIPPATH* PEMRSETBKMODE; +alias EMRSELECTCLIPPATH EMRSETMAPMODE; +alias EMRSELECTCLIPPATH TEMRSETMAPMODE; +alias EMRSELECTCLIPPATH* PEMRSETMAPMODE; +alias EMRSELECTCLIPPATH EMRSETPOLYFILLMODE; +alias EMRSELECTCLIPPATH TEMRSETPOLYFILLMODE; +alias EMRSELECTCLIPPATH* PEMRSETPOLYFILLMODE; +alias EMRSELECTCLIPPATH EMRSETROP2; +alias EMRSELECTCLIPPATH TEMRSETROP2; +alias EMRSELECTCLIPPATH* PEMRSETROP2; +alias EMRSELECTCLIPPATH EMRSETSTRETCHBLTMODE; +alias EMRSELECTCLIPPATH TEMRSETSTRETCHBLTMODE; +alias EMRSELECTCLIPPATH* PEMRSETSTRETCHBLTMODE; +alias EMRSELECTCLIPPATH EMRSETTEXTALIGN; +alias EMRSELECTCLIPPATH TEMRSETTEXTALIGN; +alias EMRSELECTCLIPPATH* PEMRSETTEXTALIGN; +alias EMRSELECTCLIPPATH EMRENABLEICM; +alias EMRSELECTCLIPPATH TEMRENABLEICM; +alias EMRSELECTCLIPPATH* PEMRENABLEICM; + +struct NMHDR +{ + HWND hwndFrom; + UINT idFrom; + UINT code; +} + +alias NMHDR TAGNMHDR; +alias NMHDR TNMHDR; +alias NMHDR* PNMHDR; + +struct ENCORRECTTEXT +{ + NMHDR nmhdr; + CHARRANGE chrg; + ushort seltyp; +} + +alias ENCORRECTTEXT _ENCORRECTTEXT; +alias ENCORRECTTEXT TENCORRECTTEXT; +alias ENCORRECTTEXT* PENCORRECTTEXT; + +struct ENDROPFILES +{ + NMHDR nmhdr; + HANDLE hDrop; + LONG cp; + WINBOOL fProtected; +} + +alias ENDROPFILES _ENDROPFILES; +alias ENDROPFILES TENDROPFILES; +alias ENDROPFILES* PENDROPFILES; + +struct ENSAVECLIPBOARD +{ + NMHDR nmhdr; + LONG cObjectCount; + LONG cch; +} + +alias ENSAVECLIPBOARD TENSAVECLIPBOARD; +alias ENSAVECLIPBOARD* PENSAVECLIPBOARD; + +struct ENOLEOPFAILED +{ + NMHDR nmhdr; + LONG iob; + LONG lOper; + HRESULT hr; +} + +alias ENOLEOPFAILED TENOLEOPFAILED; +alias ENOLEOPFAILED* PENOLEOPFAILED; + +struct ENHMETAHEADER +{ + DWORD iType; + DWORD nSize; + RECTL rclBounds; + RECTL rclFrame; + DWORD dSignature; + DWORD nVersion; + DWORD nBytes; + DWORD nRecords; + ushort nHandles; + ushort sReserved; + DWORD nDescription; + DWORD offDescription; + DWORD nPalEntries; + SIZEL szlDevice; + SIZEL szlMillimeters; +} + +alias ENHMETAHEADER* LPENHMETAHEADER; +alias ENHMETAHEADER TAGENHMETAHEADER; +alias ENHMETAHEADER TENHMETAHEADER; +alias ENHMETAHEADER* PENHMETAHEADER; + +struct ENHMETARECORD +{ + DWORD iType; + DWORD nSize; + DWORD[1 + 0] dParm; +} + +alias ENHMETARECORD* LPENHMETARECORD; +alias ENHMETARECORD TAGENHMETARECORD; +alias ENHMETARECORD TENHMETARECORD; +alias ENHMETARECORD* PENHMETARECORD; + +struct ENPROTECTED +{ + NMHDR nmhdr; + UINT msg; + WPARAM wParam; + LPARAM lParam; + CHARRANGE chrg; +} + +alias ENPROTECTED _ENPROTECTED; +alias ENPROTECTED TENPROTECTED; +alias ENPROTECTED* PENPROTECTED; + +struct SERVICE_STATUS +{ + DWORD dwServiceType; + DWORD dwCurrentState; + DWORD dwControlsAccepted; + DWORD dwWin32ExitCode; + DWORD dwServiceSpecificExitCode; + DWORD dwCheckPoint; + DWORD dwWaitHint; +} + +alias SERVICE_STATUS* LPSERVICE_STATUS; +alias SERVICE_STATUS _SERVICE_STATUS; +alias SERVICE_STATUS TSERVICESTATUS; +alias SERVICE_STATUS* PSERVICESTATUS; + +struct ENUM_SERVICE_STATUS +{ + LPTSTR lpServiceName; + LPTSTR lpDisplayName; + SERVICE_STATUS ServiceStatus; +} + +alias ENUM_SERVICE_STATUS* LPENUM_SERVICE_STATUS; +alias ENUM_SERVICE_STATUS _ENUM_SERVICE_STATUS; +alias ENUM_SERVICE_STATUS TENUMSERVICESTATUS; +alias ENUM_SERVICE_STATUS* PENUMSERVICESTATUS; + +struct ENUMLOGFONTA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; +} +struct ENUMLOGFONTW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + WCHAR elfStyle[LF_FACESIZE]; +} +struct ENUMLOGFONTEXA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; + BYTE elfScript[LF_FACESIZE]; +} +struct ENUMLOGFONTEXW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + WCHAR elfStyle[LF_FACESIZE]; + WCHAR elfScript[LF_FACESIZE]; +} +version(Win32SansUnicode){ + alias ENUMLOGFONTA ENUMLOGFONT; + alias ENUMLOGFONTEXA ENUMLOGFONTEX; +}else { + alias ENUMLOGFONTW ENUMLOGFONT; + alias ENUMLOGFONTEXW ENUMLOGFONTEX; +} +alias ENUMLOGFONT TAGENUMLOGFONT; +alias ENUMLOGFONT TENUMLOGFONT; +alias ENUMLOGFONT* PENUMLOGFONT; +alias ENUMLOGFONTEX TAGENUMLOGFONTEX; +alias ENUMLOGFONTEX TENUMLOGFONTEX; +alias ENUMLOGFONTEX* PENUMLOGFONTEX; + +struct EVENTLOGRECORD +{ + DWORD Length; + DWORD Reserved; + DWORD RecordNumber; + DWORD TimeGenerated; + DWORD TimeWritten; + DWORD EventID; + ushort EventType; + ushort NumStrings; + ushort EventCategory; + ushort ReservedFlags; + DWORD ClosingRecordNumber; + DWORD StringOffset; + DWORD UserSidLength; + DWORD UserSidOffset; + DWORD DataLength; + DWORD DataOffset; +} + +alias EVENTLOGRECORD _EVENTLOGRECORD; +alias EVENTLOGRECORD TEVENTLOGRECORD; +alias EVENTLOGRECORD* PEVENTLOGRECORD; + +struct EVENTMSG +{ + UINT message; + UINT paramL; + UINT paramH; + DWORD time; + HWND hwnd; +} + +alias EVENTMSG TAGEVENTMSG; +alias EVENTMSG TEVENTMSG; +alias EVENTMSG* PEVENTMSG; + +struct EXCEPTION_POINTERS +{ + PEXCEPTION_RECORD ExceptionRecord; + PCONTEXT ContextRecord; +} + +alias EXCEPTION_POINTERS* LPEXCEPTION_POINTERS; +alias EXCEPTION_POINTERS* PEXCEPTION_POINTERS; +alias EXCEPTION_POINTERS _EXCEPTION_POINTERS; +alias EXCEPTION_POINTERS TEXCEPTIONPOINTERS; +alias EXCEPTION_POINTERS* PEXCEPTIONPOINTERS; + +struct EXT_BUTTON +{ + ushort idCommand; + ushort idsHelp; + ushort fsStyle; +} + +alias EXT_BUTTON* LPEXT_BUTTON; +alias EXT_BUTTON _EXT_BUTTON; +alias EXT_BUTTON TEXTBUTTON; +alias EXT_BUTTON* PEXTBUTTON; + +struct FILTERKEYS +{ + UINT cbSize; + DWORD dwFlags; + DWORD iWaitMSec; + DWORD iDelayMSec; + DWORD iRepeatMSec; + DWORD iBounceMSec; +} + +alias FILTERKEYS TAGFILTERKEYS; +alias FILTERKEYS TFILTERKEYS; +alias FILTERKEYS* PFILTERKEYS; + +struct FIND_NAME_BUFFER +{ + UCHAR length; + UCHAR access_control; + UCHAR frame_control; + UCHAR[1 + 5] destination_addr; + UCHAR[1 + 5] source_addr; + UCHAR[1 + 17] routing_info; +} + +alias FIND_NAME_BUFFER _FIND_NAME_BUFFER; +alias FIND_NAME_BUFFER TFINDNAMEBUFFER; +alias FIND_NAME_BUFFER* PFINDNAMEBUFFER; + +struct FIND_NAME_HEADER +{ + ushort node_count; + UCHAR reserved; + UCHAR unique_group; +} + +alias FIND_NAME_HEADER _FIND_NAME_HEADER; +alias FIND_NAME_HEADER TFINDNAMEHEADER; +alias FIND_NAME_HEADER* PFINDNAMEHEADER; + +struct FINDREPLACE +{ + DWORD lStructSize; + HWND hwndOwner; + HINST hInstance; + DWORD Flags; + LPTSTR lpstrFindWhat; + LPTSTR lpstrReplaceWith; + ushort wFindWhatLen; + ushort wReplaceWithLen; + LPARAM lCustData; + LPFRHOOKPROC lpfnHook; + LPCTSTR lpTemplateName; +} + +alias FINDREPLACE* LPFINDREPLACE; +alias FINDREPLACE TFINDREPLACE; +alias FINDREPLACE* PFINDREPLACE; + +struct TFINDTEXT +{ + CHARRANGE chrg; + LPSTR lpstrText; +} + +alias TFINDTEXT _FINDTEXT; +alias TFINDTEXT* PFINDTEXT; + +struct FINDTEXTEX +{ + CHARRANGE chrg; + LPSTR lpstrText; + CHARRANGE chrgText; +} + +alias FINDTEXTEX _FINDTEXTEX; +alias FINDTEXTEX TFINDTEXTEX; +alias FINDTEXTEX* PFINDTEXTEX; + +struct FMS_GETDRIVEINFO +{ + DWORD dwTotalSpace; + DWORD dwFreeSpace; + TCHAR[1 + 259] szPath; + TCHAR[1 + 13] szVolume; + TCHAR[1 + 127] szShare; +} + +alias FMS_GETDRIVEINFO _FMS_GETDRIVEINFO; +alias FMS_GETDRIVEINFO TFMSGETDRIVEINFO; +alias FMS_GETDRIVEINFO* PFMSGETDRIVEINFO; + +struct FMS_GETFILESEL +{ + FILETIME ftTime; + DWORD dwSize; + ubyte bAttr; + TCHAR[1 + 259] szName; +} + +alias FMS_GETFILESEL _FMS_GETFILESEL; +alias FMS_GETFILESEL TFMSGETFILESEL; +alias FMS_GETFILESEL* PFMSGETFILESEL; + +struct FMS_LOAD +{ + DWORD dwSize; + TCHAR[1 + MENU_TEXT_LEN-1] szMenuName; + HMENU hMenu; + UINT wMenuDelta; +} + +alias FMS_LOAD _FMS_LOAD; +alias FMS_LOAD TFMSLOAD; +alias FMS_LOAD* PFMSLOAD; + +struct FMS_TOOLBARLOAD +{ + DWORD dwSize; + LPEXT_BUTTON lpButtons; + ushort cButtons; + ushort cBitmaps; + ushort idBitmap; + HBITMAP hBitmap; +} + +alias FMS_TOOLBARLOAD _FMS_TOOLBARLOAD; +alias FMS_TOOLBARLOAD TFMSTOOLBARLOAD; +alias FMS_TOOLBARLOAD* PFMSTOOLBARLOAD; + +struct FOCUS_EVENT_RECORD +{ + WINBOOL bSetFocus; +} + +alias FOCUS_EVENT_RECORD _FOCUS_EVENT_RECORD; +alias FOCUS_EVENT_RECORD TFOCUSEVENTRECORD; +alias FOCUS_EVENT_RECORD* PFOCUSEVENTRECORD; + +struct FORM_INFO_1 +{ + DWORD Flags; + LPTSTR pName; + SIZEL Size; + RECTL ImageableArea; +} + +alias FORM_INFO_1 _FORM_INFO_1; +alias FORM_INFO_1 TFORMINFO1; +alias FORM_INFO_1* PFORMINFO1; + +struct FORMAT_PARAMETERS +{ + MEDIA_TYPE MediaType; + DWORD StartCylinderNumber; + DWORD EndCylinderNumber; + DWORD StartHeadNumber; + DWORD EndHeadNumber; +} + +alias FORMAT_PARAMETERS _FORMAT_PARAMETERS; +alias FORMAT_PARAMETERS TFORMATPARAMETERS; +alias FORMAT_PARAMETERS* PFORMATPARAMETERS; + +struct FORMATRANGE +{ + HDC _hdc; + HDC hdcTarget; + RECT rc; + RECT rcPage; + CHARRANGE chrg; +} + +alias FORMATRANGE _FORMATRANGE; +alias FORMATRANGE TFORMATRANGE; +alias FORMATRANGE* PFORMATRANGE; + +struct GCP_RESULTSA +{ + DWORD lStructSize; + LPSTR lpOutString; + UINT * lpOrder; + int * lpDx; + int * lpCaretPos; + LPSTR lpClass; + LPWSTR lpGlyphs; + UINT nGlyphs; + int nMaxFit; +} + +struct GCP_RESULTSW +{ + DWORD lStructSize; + LPWSTR lpOutString; + UINT * lpOrder; + int * lpDx; + int * lpCaretPos; + LPSTR lpClass; + LPWSTR lpGlyphs; + UINT nGlyphs; + int nMaxFit; +} +version(Win32SansUnicode) +{ + alias GCP_RESULTSA GCP_RESULTS; +} +else +{ + alias GCP_RESULTSW GCP_RESULTS; +} +alias GCP_RESULTS* LPGCP_RESULTS; +alias GCP_RESULTS TAGGCP_RESULTS; +alias GCP_RESULTS TGCPRESULTS; +alias GCP_RESULTS* PGCPRESULTS; + +struct GENERIC_MAPPING +{ + ACCESS_MASK GenericRead; + ACCESS_MASK GenericWrite; + ACCESS_MASK GenericExecute; + ACCESS_MASK GenericAll; +} + +alias GENERIC_MAPPING* PGENERIC_MAPPING; +alias GENERIC_MAPPING _GENERIC_MAPPING; +alias GENERIC_MAPPING TGENERICMAPPING; +alias GENERIC_MAPPING* PGENERICMAPPING; + +struct GLYPHMETRICS +{ + UINT gmBlackBoxX; + UINT gmBlackBoxY; + POINT gmptGlyphOrigin; + int gmCellIncX; + int gmCellIncY; +} + +alias GLYPHMETRICS* LPGLYPHMETRICS; +alias GLYPHMETRICS _GLYPHMETRICS; +alias GLYPHMETRICS TGLYPHMETRICS; +alias GLYPHMETRICS* PGLYPHMETRICS; + +struct HANDLETABLE +{ + HGDIOBJ[1 + 0] objectHandle; +} + +alias HANDLETABLE TAGHANDLETABLE; +alias HANDLETABLE THANDLETABLE; +alias HANDLETABLE* LPHANDLETABLE; + +struct HD_HITTESTINFO +{ + POINT pt; + UINT flags; + int iItem; +} + +alias HD_HITTESTINFO _HD_HITTESTINFO; +alias HD_HITTESTINFO THDHITTESTINFO; +alias HD_HITTESTINFO HDHITTESTINFO; +alias HD_HITTESTINFO* PHDHITTESTINFO; + +struct HD_ITEM +{ + UINT mask; + int cxy; + LPTSTR pszText; + HBITMAP hbm; + int cchTextMax; + int fmt; + LPARAM lParam; +} + +alias HD_ITEM _HD_ITEM; +alias HD_ITEM THDITEM; +alias HD_ITEM* PHDITEM; + +struct WINDOWPOS +{ + HWND _hwnd; + HWND hwndInsertAfter; + int x; + int y; + int cx; + int cy; + UINT flags; +} + +alias WINDOWPOS* LPWINDOWPOS; +alias WINDOWPOS _WINDOWPOS; +alias WINDOWPOS TWINDOWPOS; +alias WINDOWPOS* PWINDOWPOS; + +struct HD_LAYOUT +{ + RECT* prc; + WINDOWPOS* pwpos; +} + +alias HD_LAYOUT _HD_LAYOUT; +alias HD_LAYOUT THDLAYOUT; +alias HD_LAYOUT HDLAYOUT; +alias HD_LAYOUT* PHDLAYOUT; + +struct HD_NOTIFY +{ + NMHDR hdr; + int iItem; + int iButton; + HD_ITEM* pitem; +} + +alias HD_NOTIFY _HD_NOTIFY; +alias HD_NOTIFY THDNOTIFY; +alias HD_NOTIFY* PHDNOTIFY; + +struct HELPINFO +{ + UINT cbSize; + int iContextType; + int iCtrlId; + HANDLE hItemHandle; + DWORD dwContextId; + POINT MousePos; +} + +alias HELPINFO* LPHELPINFO; +alias HELPINFO TAGHELPINFO; +alias HELPINFO THELPINFO; +alias HELPINFO* PHELPINFO; + +struct HELPWININFO +{ + int wStructSize; + int x; + int y; + int dx; + int dy; + int wMax; + TCHAR[1 + 1] rgchMember; +} + +alias HELPWININFO THELPWININFO; +alias HELPWININFO* PHELPWININFO; + +struct HIGHCONTRASTA +{ + UINT cbSize; + DWORD dwFlags; + LPSTR lpszDefaultScheme; +} +struct HIGHCONTRASTW +{ + UINT cbSize; + DWORD dwFlags; + LPWSTR lpszDefaultScheme; +} +version(Win32SansUnicode) +{ + alias HIGHCONTRASTA HIGHCONTRAST; +} +else +{ + alias HIGHCONTRASTW HIGHCONTRAST; +} +alias HIGHCONTRAST* LPHIGHCONTRAST; +alias HIGHCONTRAST TAGHIGHCONTRAST; +alias HIGHCONTRAST THIGHCONTRAST; +alias HIGHCONTRAST* PHIGHCONTRAST; + +struct HSZPAIR +{ + HSZ hszSvc; + HSZ hszTopic; +} + +alias HSZPAIR TAGHSZPAIR; +alias HSZPAIR THSZPAIR; +alias HSZPAIR* PHSZPAIR; + +struct ICONINFO +{ + WINBOOL fIcon; + DWORD xHotspot; + DWORD yHotspot; + HBITMAP hbmMask; + HBITMAP hbmColor; +} + +alias ICONINFO _ICONINFO; +alias ICONINFO TICONINFO; +alias ICONINFO* PICONINFO; + +struct ICONMETRICS +{ + UINT cbSize; + int iHorzSpacing; + int iVertSpacing; + int iTitleWrap; + LOGFONT lfFont; +} + +alias ICONMETRICS* LPICONMETRICS; +alias ICONMETRICS TAGICONMETRICS; +alias ICONMETRICS TICONMETRICS; +alias ICONMETRICS* PICONMETRICS; + +struct IMAGEINFO +{ + HBITMAP hbmImage; + HBITMAP hbmMask; + int Unused1; + int Unused2; + RECT rcImage; +} + +alias IMAGEINFO _IMAGEINFO; +alias IMAGEINFO TIMAGEINFO; +alias IMAGEINFO* PIMAGEINFO; + +align(1) struct KEY_EVENT_RECORD +{ + WINBOOL bKeyDown; + ushort wRepeatCount; + ushort wVirtualKeyCode; + ushort wVirtualScanCode; + + union + { + struct + { + WCHAR UnicodeChar; + DWORD dwControlKeyState; + } + struct + { + char AsciiChar; + } + } +} + +alias KEY_EVENT_RECORD _KEY_EVENT_RECORD; +alias KEY_EVENT_RECORD TKEYEVENTRECORD; +alias KEY_EVENT_RECORD* PKEYEVENTRECORD; + +struct MOUSE_EVENT_RECORD +{ + COORD dwMousePosition; + DWORD dwButtonState; + DWORD dwControlKeyState; + DWORD dwEventFlags; +} + +alias MOUSE_EVENT_RECORD _MOUSE_EVENT_RECORD; +alias MOUSE_EVENT_RECORD TMOUSEEVENTRECORD; +alias MOUSE_EVENT_RECORD* PMOUSEEVENTRECORD; + +struct WINDOW_BUFFER_SIZE_RECORD +{ + COORD dwSize; +} + +alias WINDOW_BUFFER_SIZE_RECORD _WINDOW_BUFFER_SIZE_RECORD; +alias WINDOW_BUFFER_SIZE_RECORD TWINDOWBUFFERSIZERECORD; +alias WINDOW_BUFFER_SIZE_RECORD* PWINDOWBUFFERSIZERECORD; + +struct MENU_EVENT_RECORD +{ + UINT dwCommandId; +} + +alias MENU_EVENT_RECORD* PMENU_EVENT_RECORD; +alias MENU_EVENT_RECORD _MENU_EVENT_RECORD; +alias MENU_EVENT_RECORD TMENUEVENTRECORD; +alias MENU_EVENT_RECORD* PMENUEVENTRECORD; + +struct INPUT_RECORD +{ + ushort EventType; + + union + { + struct + { + KEY_EVENT_RECORD KeyEvent; + } + struct + { + MOUSE_EVENT_RECORD MouseEvent; + } + struct + { + WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; + } + struct + { + MENU_EVENT_RECORD MenuEvent; + } + struct + { + FOCUS_EVENT_RECORD FocusEvent; + } + } +} + +alias INPUT_RECORD* PINPUT_RECORD; +alias INPUT_RECORD _INPUT_RECORD; +alias INPUT_RECORD TINPUTRECORD; +alias INPUT_RECORD* PINPUTRECORD; + +struct SYSTEMTIME +{ + ushort wYear; + ushort wMonth; + ushort wDayOfWeek; + ushort wDay; + ushort wHour; + ushort wMinute; + ushort wSecond; + ushort wMilliseconds; +} + +alias SYSTEMTIME* LPSYSTEMTIME; +alias SYSTEMTIME _SYSTEMTIME; +alias SYSTEMTIME TSYSTEMTIME; +alias SYSTEMTIME* PSYSTEMTIME; + +struct JOB_INFO_1 +{ + DWORD JobId; + LPTSTR pPrinterName; + LPTSTR pMachineName; + LPTSTR pUserName; + LPTSTR pDocument; + LPTSTR pDatatype; + LPTSTR pStatus; + DWORD Status; + DWORD Priority; + DWORD Position; + DWORD TotalPages; + DWORD PagesPrinted; + SYSTEMTIME Submitted; +} + +alias JOB_INFO_1 _JOB_INFO_1; +alias JOB_INFO_1 TJOBINFO1; +alias JOB_INFO_1* PJOBINFO1; + +struct SID_IDENTIFIER_AUTHORITY +{ + ubyte[1 + 5] Value; +} + +alias SID_IDENTIFIER_AUTHORITY* LPSID_IDENTIFIER_AUTHORITY; +alias SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY; +alias SID_IDENTIFIER_AUTHORITY _SID_IDENTIFIER_AUTHORITY; +alias SID_IDENTIFIER_AUTHORITY TSIDIDENTIFIERAUTHORITY; +alias SID_IDENTIFIER_AUTHORITY* PSIDIDENTIFIERAUTHORITY; + +struct SID +{ + ubyte Revision; + ubyte SubAuthorityCount; + SID_IDENTIFIER_AUTHORITY IdentifierAuthority; + DWORD[1 + ANYSIZE_ARRAY-1] SubAuthority; +} + +alias SID _SID; +alias SID TSID; +alias SID* PSID; +alias ushort SECURITY_DESCRIPTOR_CONTROL; +alias SECURITY_DESCRIPTOR_CONTROL* PSECURITY_DESCRIPTOR_CONTROL; +alias SECURITY_DESCRIPTOR_CONTROL TSECURITYDESCRIPTORCONTROL; +alias SECURITY_DESCRIPTOR_CONTROL* PSECURITYDESCRIPTORCONTROL; + +struct SECURITY_DESCRIPTOR +{ + ubyte Revision; + ubyte Sbz1; + SECURITY_DESCRIPTOR_CONTROL Control; + PSID Owner; + PSID Group; + PACL Sacl; + PACL Dacl; +} + +alias SECURITY_DESCRIPTOR* PSECURITY_DESCRIPTOR; +alias SECURITY_DESCRIPTOR _SECURITY_DESCRIPTOR; +alias SECURITY_DESCRIPTOR TSECURITYDESCRIPTOR; +alias SECURITY_DESCRIPTOR* PSECURITYDESCRIPTOR; + +struct JOB_INFO_2 +{ + DWORD JobId; + LPTSTR pPrinterName; + LPTSTR pMachineName; + LPTSTR pUserName; + LPTSTR pDocument; + LPTSTR pNotifyName; + LPTSTR pDatatype; + LPTSTR pPrintProcessor; + LPTSTR pParameters; + LPTSTR pDriverName; + LPDEVMODE pDevMode; + LPTSTR pStatus; + PSECURITY_DESCRIPTOR pSecurityDescriptor; + DWORD Status; + DWORD Priority; + DWORD Position; + DWORD StartTime; + DWORD UntilTime; + DWORD TotalPages; + DWORD Size; + SYSTEMTIME Submitted; + DWORD Time; + DWORD PagesPrinted; +} + +alias JOB_INFO_2 _JOB_INFO_2; +alias JOB_INFO_2 TJOBINFO2; +alias JOB_INFO_2* PJOBINFO2; + +struct KERNINGPAIR +{ + ushort wFirst; + ushort wSecond; + int iKernAmount; +} + +alias KERNINGPAIR* LPKERNINGPAIR; +alias KERNINGPAIR TAGKERNINGPAIR; +alias KERNINGPAIR TKERNINGPAIR; +alias KERNINGPAIR* PKERNINGPAIR; + +struct LANA_ENUM +{ + UCHAR length; + UCHAR[1 + MAX_LANA-1] lana; +} + +alias LANA_ENUM _LANA_ENUM; +alias LANA_ENUM TLANAENUM; +alias LANA_ENUM* PLANAENUM; + +struct LDT_ENTRY +{ + ushort LimitLow; + ushort BaseLow; + + union + { + struct + { + ubyte BaseMid; + ubyte Flags1; + ubyte Flags2; + ubyte BaseHi; + } + struct + { + int flag0; + } + } +} + +alias LDT_ENTRY* LPLDT_ENTRY; +alias LDT_ENTRY* PLDT_ENTRY; +alias LDT_ENTRY _LDT_ENTRY; +alias LDT_ENTRY TLDTENTRY; +alias LDT_ENTRY* PLDTENTRY; +enum : DWORD { + bm_LDT_ENTRY_BaseMid = (0xFF), + bp_LDT_ENTRY_BaseMid = (0), + bm_LDT_ENTRY_Type = (0x1F00), + bp_LDT_ENTRY_Type = (8), + bm_LDT_ENTRY_Dpl = (0x6000), + bp_LDT_ENTRY_Dpl = (13), + bm_LDT_ENTRY_Pres = (0x8000), + bp_LDT_ENTRY_Pres = (15), + bm_LDT_ENTRY_LimitHi = (0xF0000), + bp_LDT_ENTRY_LimitHi = (16), + bm_LDT_ENTRY_Sys = (0x100000), + bp_LDT_ENTRY_Sys = (20), + bm_LDT_ENTRY_Reserved_0 = (0x200000), + bp_LDT_ENTRY_Reserved_0 = (21), + bm_LDT_ENTRY_Default_Big = (0x400000), + bp_LDT_ENTRY_Default_Big = (22), + bm_LDT_ENTRY_Granularity = (0x800000), + bp_LDT_ENTRY_Granularity = (23), + bm_LDT_ENTRY_BaseHi = (0xFF000000), + bp_LDT_ENTRY_BaseHi = (24), +} + +struct LOCALESIGNATURE +{ + DWORD[1 + 3] lsUsb; + DWORD[1 + 1] lsCsbDefault; + DWORD[1 + 1] lsCsbSupported; +} + +alias LOCALESIGNATURE TAGLOCALESIGNATURE; +alias LOCALESIGNATURE TLOCALESIGNATURE; +alias LOCALESIGNATURE* PLOCALESIGNATURE; + +struct LOCALGROUP_MEMBERS_INFO_0 +{ + PSID lgrmi0_sid; +} + +alias LOCALGROUP_MEMBERS_INFO_0 _LOCALGROUP_MEMBERS_INFO_0; +alias LOCALGROUP_MEMBERS_INFO_0 TLOCALGROUPMEMBERSINFO0; +alias LOCALGROUP_MEMBERS_INFO_0* PLOCALGROUPMEMBERSINFO0; + +struct LOCALGROUP_MEMBERS_INFO_3 +{ + LPWSTR lgrmi3_domainandname; +} + +alias LOCALGROUP_MEMBERS_INFO_3 _LOCALGROUP_MEMBERS_INFO_3; +alias LOCALGROUP_MEMBERS_INFO_3 TLOCALGROUPMEMBERSINFO3; +alias LOCALGROUP_MEMBERS_INFO_3* PLOCALGROUPMEMBERSINFO3; +alias int FXPT16DOT16; +alias FXPT16DOT16* LPFXPT16DOT16; +alias FXPT16DOT16 TFXPT16DOT16; +alias FXPT16DOT16* PFXPT16DOT16; +alias LARGE_INTEGER LUID; +alias LUID TLUID; +alias LUID* PLUID; + +struct LUID_AND_ATTRIBUTES +{ + LUID Luid; + DWORD Attributes; +} + +alias LUID_AND_ATTRIBUTES _LUID_AND_ATTRIBUTES; +alias LUID_AND_ATTRIBUTES TLUIDANDATTRIBUTES; +alias LUID_AND_ATTRIBUTES* PLUIDANDATTRIBUTES; +alias LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] LUID_AND_ATTRIBUTES_ARRAY; +alias LUID_AND_ATTRIBUTES_ARRAY* PLUID_AND_ATTRIBUTES_ARRAY; +alias LUID_AND_ATTRIBUTES_ARRAY TLUIDANDATTRIBUTESARRAY; +alias LUID_AND_ATTRIBUTES_ARRAY* PLUIDANDATTRIBUTESARRAY; + +struct LV_COLUMN +{ + UINT mask; + int fmt; + int cx; + LPTSTR pszText; + int cchTextMax; + int iSubItem; +} + +alias LV_COLUMN _LV_COLUMN; +alias LV_COLUMN TLVCOLUMN; +alias LV_COLUMN* PLVCOLUMN; + +struct LV_ITEM +{ + UINT mask; + int iItem; + int iSubItem; + UINT state; + UINT stateMask; + LPTSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; +} + +alias LV_ITEM _LV_ITEM; +alias LV_ITEM TLVITEM; +alias LV_ITEM* PLVITEM; + +struct LV_DISPINFO +{ + NMHDR hdr; + LV_ITEM item; +} + +alias LV_DISPINFO TAGLV_DISPINFO; +alias LV_DISPINFO TLVDISPINFO; +alias LV_DISPINFO* PLVDISPINFO; + +struct LV_FINDINFO +{ + UINT flags; + LPCTSTR psz; + LPARAM lParam; + POINT pt; + UINT vkDirection; +} + +alias LV_FINDINFO _LV_FINDINFO; +alias LV_FINDINFO TLVFINDINFO; +alias LV_FINDINFO* PLVFINDINFO; + +struct LV_HITTESTINFO +{ + POINT pt; + UINT flags; + int iItem; +} + +alias LV_HITTESTINFO _LV_HITTESTINFO; +alias LV_HITTESTINFO TLVHITTESTINFO; +alias LV_HITTESTINFO* PLVHITTESTINFO; + +struct LV_KEYDOWN +{ + NMHDR hdr; + ushort wVKey; + UINT flags; +} + +alias LV_KEYDOWN TAGLV_KEYDOWN; +alias LV_KEYDOWN TLVKEYDOWN; +alias LV_KEYDOWN* PLVKEYDOWN; + +struct MAT2 +{ + FIXED eM11; + FIXED eM12; + FIXED eM21; + FIXED eM22; +} + +alias MAT2 _MAT2; +alias MAT2 TMAT2; +alias MAT2* PMAT2; + +struct MDICREATESTRUCT +{ + LPCTSTR szClass; + LPCTSTR szTitle; + HANDLE hOwner; + int x; + int y; + int cx; + int cy; + DWORD style; + LPARAM lParam; +} + +alias MDICREATESTRUCT* LPMDICREATESTRUCT; +alias MDICREATESTRUCT TAGMDICREATESTRUCT; +alias MDICREATESTRUCT TMDICREATESTRUCT; +alias MDICREATESTRUCT* PMDICREATESTRUCT; + +struct MEASUREITEMSTRUCT +{ + UINT CtlType; + UINT CtlID; + UINT itemID; + UINT itemWidth; + UINT itemHeight; + DWORD itemData; +} + +alias MEASUREITEMSTRUCT* LPMEASUREITEMSTRUCT; +alias MEASUREITEMSTRUCT TAGMEASUREITEMSTRUCT; +alias MEASUREITEMSTRUCT TMEASUREITEMSTRUCT; +alias MEASUREITEMSTRUCT* PMEASUREITEMSTRUCT; + +struct MEMORY_BASIC_INFORMATION +{ + PVOID BaseAddress; + PVOID AllocationBase; + DWORD AllocationProtect; + DWORD RegionSize; + DWORD State; + DWORD Protect; + DWORD _Type; +} + +alias MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION; +alias MEMORY_BASIC_INFORMATION _MEMORY_BASIC_INFORMATION; +alias MEMORY_BASIC_INFORMATION TMEMORYBASICINFORMATION; +alias MEMORY_BASIC_INFORMATION* PMEMORYBASICINFORMATION; + +struct MEMORYSTATUS +{ + DWORD dwLength; + DWORD dwMemoryLoad; + DWORD dwTotalPhys; + DWORD dwAvailPhys; + DWORD dwTotalPageFile; + DWORD dwAvailPageFile; + DWORD dwTotalVirtual; + DWORD dwAvailVirtual; +} + +alias MEMORYSTATUS* LPMEMORYSTATUS; +alias MEMORYSTATUS _MEMORYSTATUS; +alias MEMORYSTATUS TMEMORYSTATUS; +alias MEMORYSTATUS* PMEMORYSTATUS; + +struct MENUEX_TEMPLATE_HEADER +{ + ushort wVersion; + ushort wOffset; + DWORD dwHelpId; +} + +alias MENUEX_TEMPLATE_HEADER TMENUXTEMPLATEHEADER; +alias MENUEX_TEMPLATE_HEADER* PMENUXTEMPLATEHEADER; + +struct MENUEX_TEMPLATE_ITEM +{ + DWORD dwType; + DWORD dwState; + UINT uId; + ubyte bResInfo; + WCHAR[1 + 0] szText; + DWORD dwHelpId; +} + +alias MENUEX_TEMPLATE_ITEM TMENUEXTEMPLATEITEM; +alias MENUEX_TEMPLATE_ITEM* PMENUEXTEMPLATEITEM; + +/* +* Feature in Windows. The hbmpItem field requires Windows 4.10 +* or greater. On Windows NT 4.0, passing in a larger struct size +* in the cbSize field does nothing. On Windows 95, the MENUITEMINFO +* calls fail when the struct size is too large. The fix is to ensure +* that the correct struct size is used for the Windows platform. +*/ +struct MENUITEMINFOA +{ + UINT cbSize; + UINT fMask; + UINT fType; // used if MIIM_TYPE + UINT fState; // used if MIIM_STATE + UINT wID; // used if MIIM_ID + HMENU hSubMenu; // used if MIIM_SUBMENU + HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS + HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS + DWORD dwItemData; // used if MIIM_DATA + LPSTR dwTypeData; // used if MIIM_TYPE + UINT cch; // used if MIIM_TYPE + HBITMAP hbmpItem; +} +alias MENUITEMINFOA* PMENUITEMINFOA, LPMENUITEMINFOA; +struct MENUITEMINFOW +{ + UINT cbSize; + UINT fMask; + UINT fType; // used if MIIM_TYPE + UINT fState; // used if MIIM_STATE + UINT wID; // used if MIIM_ID + HMENU hSubMenu; // used if MIIM_SUBMENU + HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS + HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS + DWORD dwItemData; // used if MIIM_DATA + LPWSTR dwTypeData; // used if MIIM_TYPE + UINT cch; // used if MIIM_TYPE + HBITMAP hbmpItem; +} alias MENUITEMINFOW* PMENUITEMINFOW, LPMENUITEMINFOW; +version(Win32SansUnicode) +{ + alias MENUITEMINFOA MENUITEMINFO; +} +else +{ + alias MENUITEMINFOW MENUITEMINFO; +} +alias MENUITEMINFO * LPMENUITEMINFO; +alias MENUITEMINFO * LPCMENUITEMINFO; +alias MENUITEMINFO TAGMENUITEMINFO; +alias MENUITEMINFO TMENUITEMINFO; +alias MENUITEMINFO TMENUITEMINFOA; +alias MENUITEMINFO* PMENUITEMINFO; + +struct MENUITEMTEMPLATE +{ + ushort mtOption; + ushort mtID; + WCHAR[1 + 0] mtString; +} + +alias MENUITEMTEMPLATE TMENUITEMTEMPLATE; +alias MENUITEMTEMPLATE* PMENUITEMTEMPLATE; + +struct MENUITEMTEMPLATEHEADER +{ + ushort versionNumber; + ushort offset; +} + +alias MENUITEMTEMPLATEHEADER TMENUITEMTEMPLATEHEADER; +alias MENUITEMTEMPLATEHEADER* PMENUITEMTEMPLATEHEADER; + +struct MENUTEMPLATE +{ +} + +alias MENUTEMPLATE* LPMENUTEMPLATE; +alias MENUTEMPLATE TMENUTEMPLATE; +alias MENUTEMPLATE* PMENUTEMPLATE; + +struct METAFILEPICT +{ + LONG mm; + LONG xExt; + LONG yExt; + HMETAFILE hMF; +} + +alias METAFILEPICT* LPMETAFILEPICT; +alias METAFILEPICT TAGMETAFILEPICT; +alias METAFILEPICT TMETAFILEPICT; +alias METAFILEPICT* PMETAFILEPICT; + +align(1) struct METAHEADER +{ + ushort mtType; + ushort mtHeaderSize; + ushort mtVersion; + DWORD mtSize; + ushort mtNoObjects; + DWORD mtMaxRecord; + ushort mtNoParameters; +} + +alias METAHEADER TAGMETAHEADER; +alias METAHEADER TMETAHEADER; +alias METAHEADER* PMETAHEADER; + +struct METARECORD +{ + DWORD rdSize; + ushort rdFunction; + ushort[1 + 0] rdParm; +} + +alias METARECORD* LPMETARECORD; +alias METARECORD TAGMETARECORD; +alias METARECORD TMETARECORD; +alias METARECORD* PMETARECORD; + +struct MINIMIZEDMETRICS +{ + UINT cbSize; + int iWidth; + int iHorzGap; + int iVertGap; + int iArrange; +} + +alias MINIMIZEDMETRICS* LPMINIMIZEDMETRICS; +alias MINIMIZEDMETRICS TAGMINIMIZEDMETRICS; +alias MINIMIZEDMETRICS TMINIMIZEDMETRICS; +alias MINIMIZEDMETRICS* PMINIMIZEDMETRICS; + +struct MINMAXINFO +{ + POINT ptReserved; + POINT ptMaxSize; + POINT ptMaxPosition; + POINT ptMinTrackSize; + POINT ptMaxTrackSize; +} + +alias MINMAXINFO TAGMINMAXINFO; +alias MINMAXINFO TMINMAXINFO; +alias MINMAXINFO* PMINMAXINFO; + +struct MODEMDEVCAPS +{ + DWORD dwActualSize; + DWORD dwRequiredSize; + DWORD dwDevSpecificOffset; + DWORD dwDevSpecificSize; + DWORD dwModemProviderVersion; + DWORD dwModemManufacturerOffset; + DWORD dwModemManufacturerSize; + DWORD dwModemModelOffset; + DWORD dwModemModelSize; + DWORD dwModemVersionOffset; + DWORD dwModemVersionSize; + DWORD dwDialOptions; + DWORD dwCallSetupFailTimer; + DWORD dwInactivityTimeout; + DWORD dwSpeakerVolume; + DWORD dwSpeakerMode; + DWORD dwModemOptions; + DWORD dwMaxDTERate; + DWORD dwMaxDCERate; + ubyte[1 + 0] abVariablePortion; +} + +alias MODEMDEVCAPS* LPMODEMDEVCAPS; +alias MODEMDEVCAPS TMODEMDEVCAPS; +alias MODEMDEVCAPS* PMODEMDEVCAPS; +alias MODEMDEVCAPS MODEMDEVCAPS_TAG; + +struct MODEMSETTINGS +{ + DWORD dwActualSize; + DWORD dwRequiredSize; + DWORD dwDevSpecificOffset; + DWORD dwDevSpecificSize; + DWORD dwCallSetupFailTimer; + DWORD dwInactivityTimeout; + DWORD dwSpeakerVolume; + DWORD dwSpeakerMode; + DWORD dwPreferredModemOptions; + DWORD dwNegotiatedModemOptions; + DWORD dwNegotiatedDCERate; + ubyte[1 + 0] abVariablePortion; +} + +alias MODEMSETTINGS* LPMODEMSETTINGS; +alias MODEMSETTINGS TMODEMSETTINGS; +alias MODEMSETTINGS* PMODEMSETTINGS; +alias MODEMSETTINGS MODEMSETTINGS_TAG; + +struct MONCBSTRUCT +{ + UINT cb; + DWORD dwTime; + HANDLE hTask; + DWORD dwRet; + UINT wType; + UINT wFmt; + HCONV hConv; + HSZ hsz1; + HSZ hsz2; + HDDEDATA hData; + DWORD dwData1; + DWORD dwData2; + CONVCONTEXT cc; + DWORD cbData; + DWORD[1 + 7] Data; +} + +alias MONCBSTRUCT TAGMONCBSTRUCT; +alias MONCBSTRUCT TMONCBSTRUCT; +alias MONCBSTRUCT* PMONCBSTRUCT; + +struct MONCONVSTRUCT +{ + UINT cb; + WINBOOL fConnect; + DWORD dwTime; + HANDLE hTask; + HSZ hszSvc; + HSZ hszTopic; + HCONV hConvClient; + HCONV hConvServer; +} + +alias MONCONVSTRUCT TAGMONCONVSTRUCT; +alias MONCONVSTRUCT TMONCONVSTRUCT; +alias MONCONVSTRUCT* PMONCONVSTRUCT; + +struct MONERRSTRUCT +{ + UINT cb; + UINT wLastError; + DWORD dwTime; + HANDLE hTask; +} + +alias MONERRSTRUCT TAGMONERRSTRUCT; +alias MONERRSTRUCT TMONERRSTRUCT; +alias MONERRSTRUCT* PMONERRSTRUCT; + +struct MONHSZSTRUCT +{ + UINT cb; + WINBOOL fsAction; + DWORD dwTime; + HSZ hsz; + HANDLE hTask; + TCHAR[1 + 0] str; +} + +alias MONHSZSTRUCT TAGMONHSZSTRUCT; +alias MONHSZSTRUCT TMONHSZSTRUCT; +alias MONHSZSTRUCT* PMONHSZSTRUCT; + +struct MONITOR_INFO_1 +{ + LPTSTR pName; +} + +alias MONITOR_INFO_1 _MONITOR_INFO_1; +alias MONITOR_INFO_1 TMONITORINFO1; +alias MONITOR_INFO_1* PMONITORINFO1; + +struct MONITOR_INFO_2 +{ + LPTSTR pName; + LPTSTR pEnvironment; + LPTSTR pDLLName; +} + +alias MONITOR_INFO_2 _MONITOR_INFO_2; +alias MONITOR_INFO_2 TMONITORINFO2; +alias MONITOR_INFO_2* PMONITORINFO2; + +struct MONLINKSTRUCT +{ + UINT cb; + DWORD dwTime; + HANDLE hTask; + WINBOOL fEstablished; + WINBOOL fNoData; + HSZ hszSvc; + HSZ hszTopic; + HSZ hszItem; + UINT wFmt; + WINBOOL fServer; + HCONV hConvServer; + HCONV hConvClient; +} + +alias MONLINKSTRUCT TAGMONLINKSTRUCT; +alias MONLINKSTRUCT TMONLINKSTRUCT; +alias MONLINKSTRUCT* PMONLINKSTRUCT; + +struct MONMSGSTRUCT +{ + UINT cb; + HWND hwndTo; + DWORD dwTime; + HANDLE hTask; + UINT wMsg; + WPARAM wParam; + LPARAM lParam; + DDEML_MSG_HOOK_DATA dmhd; +} + +alias MONMSGSTRUCT TAGMONMSGSTRUCT; +alias MONMSGSTRUCT TMONMSGSTRUCT; +alias MONMSGSTRUCT* PMONMSGSTRUCT; + +struct MOUSEHOOKSTRUCT +{ + POINT pt; + HWND hwnd; + UINT wHitTestCode; + DWORD dwExtraInfo; +} + +alias MOUSEHOOKSTRUCT* LPMOUSEHOOKSTRUCT; +alias MOUSEHOOKSTRUCT TAGMOUSEHOOKSTRUCT; +alias MOUSEHOOKSTRUCT TMOUSEHOOKSTRUCT; +alias MOUSEHOOKSTRUCT* PMOUSEHOOKSTRUCT; + +struct MOUSEKEYS +{ + DWORD cbSize; + DWORD dwFlags; + DWORD iMaxSpeed; + DWORD iTimeToMaxSpeed; + DWORD iCtrlSpeed; + DWORD dwReserved1; + DWORD dwReserved2; +} + +alias MOUSEKEYS TMOUSEKEYS; +alias MOUSEKEYS* PMOUSEKEYS; + +struct MSG +{ + HWND hwnd; + UINT message; + WPARAM wParam; + LPARAM lParam; + DWORD time; + POINT pt; +} + +alias MSG* LPMSG; +alias MSG TAGMSG; +alias MSG TMSG; +alias MSG* PMSG; +extern(Windows){ +alias void (*MSGBOXCALLBACK)(LPHELPINFO); +} +alias MSGBOXCALLBACK TMSGBOXCALLBACK; + +struct MSGBOXPARAMS +{ + UINT cbSize; + HWND hwndOwner; + HINST hInstance; + LPCSTR lpszText; + LPCSTR lpszCaption; + DWORD dwStyle; + LPCSTR lpszIcon; + DWORD dwContextHelpId; + MSGBOXCALLBACK lpfnMsgBoxCallback; + DWORD dwLanguageId; +} + +alias MSGBOXPARAMS* LPMSGBOXPARAMS; +alias MSGBOXPARAMS TMSGBOXPARAMS; +alias MSGBOXPARAMS TMSGBOXPARAMSA; +alias MSGBOXPARAMS* PMSGBOXPARAMS; + +struct MSGFILTER +{ + NMHDR nmhdr; + UINT msg; + WPARAM wParam; + LPARAM lParam; +} + +alias MSGFILTER _MSGFILTER; +alias MSGFILTER TMSGFILTER; +alias MSGFILTER* PMSGFILTER; + +struct MULTIKEYHELP +{ + DWORD mkSize; + TCHAR mkKeylist; + TCHAR[1 + 0] szKeyphrase; +} + +alias MULTIKEYHELP TAGMULTIKEYHELP; +alias MULTIKEYHELP TMULTIKEYHELP; +alias MULTIKEYHELP* PMULTIKEYHELP; + +struct NAME_BUFFER +{ + UCHAR[1 + NCBNAMSZ-1] name; + UCHAR name_num; + UCHAR name_flags; +} + +alias NAME_BUFFER _NAME_BUFFER; +alias NAME_BUFFER TNAMEBUFFER; +alias NAME_BUFFER* PNAMEBUFFER; +alias _NCB* P_NCB; + +struct NCB +{ + UCHAR ncb_command; + UCHAR ncb_retcode; + UCHAR ncb_lsn; + UCHAR ncb_num; + PUCHAR ncb_buffer; + ushort ncb_length; + UCHAR[1 + NCBNAMSZ-1] ncb_callname; + UCHAR[1 + NCBNAMSZ-1] ncb_name; + UCHAR ncb_rto; + UCHAR ncb_sto; + POINTER ncb_post; + UCHAR ncb_lana_num; + UCHAR ncb_cmd_cplt; + UCHAR[1 + 9] ncb_reserve; + HANDLE ncb_event; +} + +alias NCB _NCB; +alias NCB TNCB; +alias NCB* PNCB; + +struct NCCALCSIZE_PARAMS +{ + RECT[1 + 2] rgrc; + PWINDOWPOS lppos; +} + +alias NCCALCSIZE_PARAMS _NCCALCSIZE_PARAMS; +alias NCCALCSIZE_PARAMS TNCCALCSIZEPARAMS; +alias NCCALCSIZE_PARAMS* PNCCALCSIZEPARAMS; + +struct NDDESHAREINFO +{ + LONG lRevision; + LPTSTR lpszShareName; + LONG lShareType; + LPTSTR lpszAppTopicList; + LONG fSharedFlag; + LONG fService; + LONG fStartAppFlag; + LONG nCmdShow; + LONG[1 + 1] qModifyId; + LONG cNumItems; + LPTSTR lpszItemList; +} + +alias NDDESHAREINFO _NDDESHAREINFO; +alias NDDESHAREINFO TNDDESHAREINFO; +alias NDDESHAREINFO* PNDDESHAREINFO; + +struct NETRESOURCE +{ + DWORD dwScope; + DWORD dwType; + DWORD dwDisplayType; + DWORD dwUsage; + LPTSTR lpLocalName; + LPTSTR lpRemoteName; + LPTSTR lpComment; + LPTSTR lpProvider; +} + +alias NETRESOURCE* LPNETRESOURCE; +alias NETRESOURCE _NETRESOURCE; +alias NETRESOURCE TNETRESOURCE; +alias NETRESOURCE TNETRESOURCEA; +alias NETRESOURCE* PNETRESOURCE; +alias NETRESOURCE* PNETRESOURCEA; + +struct NEWCPLINFO +{ + DWORD dwSize; + DWORD dwFlags; + DWORD dwHelpContext; + LONG lData; + HICON hIcon; + TCHAR[1 + 31] szName; + TCHAR[1 + 63] szInfo; + TCHAR[1 + 127] szHelpFile; +} + +alias NEWCPLINFO TAGNEWCPLINFO; +alias NEWCPLINFO TNEWCPLINFO; +alias NEWCPLINFO* PNEWCPLINFO; + +struct NEWTEXTMETRICA { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + BYTE tmFirstChar; + BYTE tmLastChar; + BYTE tmDefaultChar; + BYTE tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; + DWORD ntmFlags; + UINT ntmSizeEM; + UINT ntmCellHeight; + UINT ntmAvgWidth; +} +struct NEWTEXTMETRICW { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + WCHAR tmFirstChar; + WCHAR tmLastChar; + WCHAR tmDefaultChar; + WCHAR tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; + DWORD ntmFlags; + UINT ntmSizeEM; + UINT ntmCellHeight; + UINT ntmAvgWidth; +} + +struct NEWTEXTMETRICEXA +{ + NEWTEXTMETRICA ntmentm; + FONTSIGNATURE ntmeFontSignature; +} +struct NEWTEXTMETRICEXW +{ + NEWTEXTMETRICW ntmentm; + FONTSIGNATURE ntmeFontSignature; +} + + +version(Win32SansUnicode) +{ + alias NEWTEXTMETRICA NEWTEXTMETRIC; + alias NEWTEXTMETRICEXA NEWTEXTMETRICEX; +} +else +{ + alias NEWTEXTMETRICW NEWTEXTMETRIC; + alias NEWTEXTMETRICEXW NEWTEXTMETRICEX; +} + +alias NEWTEXTMETRIC TNEWTEXTMETRIC; +alias NEWTEXTMETRIC* PNEWTEXTMETRIC; +alias NEWTEXTMETRIC* LPNEWTEXTMETRIC; +alias NEWTEXTMETRIC TAGNEWTEXTMETRIC; +alias NEWTEXTMETRICEX TAGNEWTEXTMETRICEX; +alias NEWTEXTMETRICEX TNEWTEXTMETRICEX; +alias NEWTEXTMETRICEX* PNEWTEXTMETRICEX; + +struct NM_LISTVIEW +{ + NMHDR hdr; + int iItem; + int iSubItem; + UINT uNewState; + UINT uOldState; + UINT uChanged; + POINT ptAction; + LPARAM lParam; +} + +alias NM_LISTVIEW TAGNM_LISTVIEW; +alias NM_LISTVIEW TNMLISTVIEW; +alias NM_LISTVIEW* PNMLISTVIEW; + +struct TVITEMA +{ + UINT mask; + HTREEITEM hItem; + UINT state; + UINT stateMask; + LPSTR pszText; + int cchTextMax; + int iImage; + int iSelectedImage; + int cChildren; + LPARAM lParam; +} +struct TVITEMW +{ + UINT mask; + HTREEITEM hItem; + UINT state; + UINT stateMask; + LPWSTR pszText; + int cchTextMax; + int iImage; + int iSelectedImage; + int cChildren; + LPARAM lParam; +} +version(Win32SansUnicode) +{ + alias TVITEMA TVITEM; +} +else +{ + alias TVITEMW TVITEM; +} +alias TVITEM* LPTVITEM; +alias TVITEM* LPTV_ITEM; +alias TVITEM _TV_ITEM; +alias TVITEM TTVITEM; +alias TVITEM TV_ITEM; +alias TVITEM* PTVITEM; + +struct NMTREEVIEW +{ + NMHDR hdr; + UINT action; + TVITEM itemOld; + TVITEM itemNew; + POINT ptDrag; +} +alias NMTREEVIEW* PNMTREEVIEW; +alias NMTREEVIEW* LPNMTREEVIEW; +alias NMTREEVIEW NM_TREEVIEW; +alias NM_TREEVIEW* LPNM_TREEVIEW; +alias NM_TREEVIEW _NM_TREEVIEW; +alias NM_TREEVIEW TNMTREEVIEW; + +struct NM_UPDOWNW +{ + NMHDR hdr; + int iPos; + int iDelta; +} + +alias NM_UPDOWNW _NM_UPDOWN; +alias NM_UPDOWNW TNMUPDOWN; +alias NM_UPDOWNW* PNMUPDOWN; +alias NM_UPDOWNW NMUPDOWN; + +struct NONCLIENTMETRICSA { + int cbSize; + int iBorderWidth; + int iScrollWidth; + int iScrollHeight; + int iCaptionWidth; + int iCaptionHeight; + LOGFONTA lfCaptionFont; + int iSmCaptionWidth; + int iSmCaptionHeight; + LOGFONTA lfSmCaptionFont; + int iMenuWidth; + int iMenuHeight; + LOGFONTA lfMenuFont; + LOGFONTA lfStatusFont; + LOGFONTA lfMessageFont; +} +struct NONCLIENTMETRICSW { + int cbSize; + int iBorderWidth; + int iScrollWidth; + int iScrollHeight; + int iCaptionWidth; + int iCaptionHeight; + LOGFONTW lfCaptionFont; + int iSmCaptionWidth; + int iSmCaptionHeight; + LOGFONTW lfSmCaptionFont; + int iMenuWidth; + int iMenuHeight; + LOGFONTW lfMenuFont; + LOGFONTW lfStatusFont; + LOGFONTW lfMessageFont; +} +version(Win32SansUnicode) +{ + alias NONCLIENTMETRICSA NONCLIENTMETRICS; +} +else +{ + alias NONCLIENTMETRICSW NONCLIENTMETRICS; +} +alias NONCLIENTMETRICS* LPNONCLIENTMETRICS; +alias NONCLIENTMETRICS TAGNONCLIENTMETRICS; +alias NONCLIENTMETRICS TNONCLIENTMETRICS; +alias NONCLIENTMETRICS* PNONCLIENTMETRICS; + +struct SERVICE_ADDRESS +{ + DWORD dwAddressType; + DWORD dwAddressFlags; + DWORD dwAddressLength; + DWORD dwPrincipalLength; + ubyte* lpAddress; + ubyte* lpPrincipal; +} + +alias SERVICE_ADDRESS _SERVICE_ADDRESS; +alias SERVICE_ADDRESS TSERVICEADDRESS; +alias SERVICE_ADDRESS* PSERVICEADDRESS; + +struct SERVICE_ADDRESSES +{ + DWORD dwAddressCount; + SERVICE_ADDRESS[1 + 0] Addresses; +} + +alias SERVICE_ADDRESSES* LPSERVICE_ADDRESSES; +alias SERVICE_ADDRESSES _SERVICE_ADDRESSES; +alias SERVICE_ADDRESSES TSERVICEADDRESSES; +alias SERVICE_ADDRESSES* PSERVICEADDRESSES; + +align(1) struct __GUID +{ + + union + { + struct + { + uint Data1; + ushort Data2; + ushort Data3; + ubyte[1 + 7] Data4; + } + struct + { + uint D1; + ushort D2; + ushort D3; + ubyte[1 + 7] D4; + } + } +} + +alias __GUID* LPGUID; +alias __GUID _GUID; +alias __GUID GUID; +alias __GUID TGUID; +alias __GUID* PGUID; +alias __GUID __CLSID; +alias __CLSID* LPCLSID; +alias __CLSID TCLSID; +alias __CLSID* PCLSID; + +struct SERVICE_INFO +{ + LPGUID lpServiceType; + LPTSTR lpServiceName; + LPTSTR lpComment; + LPTSTR lpLocale; + DWORD dwDisplayHint; + DWORD dwVersion; + DWORD dwTime; + LPTSTR lpMachineName; + LPSERVICE_ADDRESSES lpServiceAddress; + BLOB ServiceSpecificInfo; +} + +alias SERVICE_INFO _SERVICE_INFO; +alias SERVICE_INFO TSERVICEINFO; +alias SERVICE_INFO* PSERVICEINFO; + +struct NS_SERVICE_INFO +{ + DWORD dwNameSpace; + SERVICE_INFO ServiceInfo; +} + +alias NS_SERVICE_INFO _NS_SERVICE_INFO; +alias NS_SERVICE_INFO TNSSERVICEINFO; +alias NS_SERVICE_INFO* PNSSERVICEINFO; + +struct NUMBERFMT +{ + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPTSTR lpDecimalSep; + LPTSTR lpThousandSep; + UINT NegativeOrder; +} + +alias NUMBERFMT _NUMBERFMT; +alias NUMBERFMT TNUMBERFMT; +alias NUMBERFMT* PNUMBERFMT; + +struct OFSTRUCT +{ + ubyte cBytes; + ubyte fFixedDisk; + ushort nErrCode; + ushort Reserved1; + ushort Reserved2; + char[1 + OFS_MAXPATHNAME-1] szPathName; +} + +alias OFSTRUCT* LPOFSTRUCT; +alias OFSTRUCT _OFSTRUCT; +alias OFSTRUCT TOFSTRUCT; +alias OFSTRUCT* POFSTRUCT; + +struct OPENFILENAME +{ + DWORD lStructSize; + HWND hwndOwner; + HINST hInstance; + LPCTSTR lpstrFilter; + LPTSTR lpstrCustomFilter; + DWORD nMaxCustFilter; + DWORD nFilterIndex; + LPTSTR lpstrFile; + DWORD nMaxFile; + LPTSTR lpstrFileTitle; + DWORD nMaxFileTitle; + LPCTSTR lpstrInitialDir; + LPCTSTR lpstrTitle; + DWORD Flags; + ushort nFileOffset; + ushort nFileExtension; + LPCTSTR lpstrDefExt; + DWORD lCustData; + LPOFNHOOKPROC lpfnHook; + LPCTSTR lpTemplateName; +} + +alias OPENFILENAME* LPOPENFILENAME; +alias OPENFILENAME TOPENFILENAME; +alias OPENFILENAME* POPENFILENAME; +alias OPENFILENAME TAGOFN; +alias OPENFILENAME TOFN; +alias OPENFILENAME* POFN; + +struct OFNOTIFY +{ + NMHDR hdr; + LPOPENFILENAME lpOFN; + LPTSTR pszFile; +} + +alias OFNOTIFY* LPOFNOTIFY; +alias OFNOTIFY _OFNOTIFY; +alias OFNOTIFY TOFNOTIFY; +alias OFNOTIFY* POFNOTIFY; + +struct OSVERSIONINFOA +{ + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + CHAR szCSDVersion[ 128 ]; +} +alias OSVERSIONINFOA* POSVERSIONINFOA, LPOSVERSIONINFOA; + +struct OSVERSIONINFOW +{ + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + WCHAR szCSDVersion[ 128 ]; +} +alias OSVERSIONINFOW* POSVERSIONINFOW, LPOSVERSIONINFOW; +version(Win32SansUnicode) +{ + alias OSVERSIONINFOA OSVERSIONINFO; +} +else +{ + alias OSVERSIONINFOW OSVERSIONINFO; +} +alias OSVERSIONINFO* LPOSVERSIONINFO; +alias OSVERSIONINFO _OSVERSIONINFO; +alias OSVERSIONINFO TOSVERSIONINFO; +alias OSVERSIONINFO* POSVERSIONINFO; + +struct TEXTMETRICA { + align(1): + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + + BYTE tmFirstChar; + BYTE tmLastChar; + BYTE tmDefaultChar; + BYTE tmBreakChar; + + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; +} +struct TEXTMETRICW { + align(1): + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + + WCHAR tmFirstChar; + WCHAR tmLastChar; + WCHAR tmDefaultChar; + WCHAR tmBreakChar; + + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; +} +version(Win32SansUnicode) +{ + alias TEXTMETRICA TEXTMETRIC; +} +else +{ + alias TEXTMETRICW TEXTMETRIC; +} +alias TEXTMETRIC* LPTEXTMETRIC; +alias TEXTMETRIC TAGTEXTMETRIC; +alias TEXTMETRIC TTEXTMETRIC; +alias TEXTMETRIC* PTEXTMETRIC; + +struct OUTLINETEXTMETRICA +{ + UINT otmSize; + TEXTMETRICA otmTextMetrics; + BYTE otmFiller; + PANOSE otmPanoseNumber; + UINT otmfsSelection; + UINT otmfsType; + int otmsCharSlopeRise; + int otmsCharSlopeRun; + int otmItalicAngle; + UINT otmEMSquare; + int otmAscent; + int otmDescent; + UINT otmLineGap; + UINT otmsCapEmHeight; + UINT otmsXHeight; + RECT otmrcFontBox; + int otmMacAscent; + int otmMacDescent; + UINT otmMacLineGap; + UINT otmusMinimumPPEM; + POINT otmptSubscriptSize; + POINT otmptSubscriptOffset; + POINT otmptSuperscriptSize; + POINT otmptSuperscriptOffset; + UINT otmsStrikeoutSize; + int otmsStrikeoutPosition; + int otmsUnderscoreSize; + int otmsUnderscorePosition; + PSTR otmpFamilyName; + PSTR otmpFaceName; + PSTR otmpStyleName; + PSTR otmpFullName; +} +struct OUTLINETEXTMETRICW +{ + UINT otmSize; + TEXTMETRICW otmTextMetrics; + BYTE otmFiller; + PANOSE otmPanoseNumber; + UINT otmfsSelection; + UINT otmfsType; + int otmsCharSlopeRise; + int otmsCharSlopeRun; + int otmItalicAngle; + UINT otmEMSquare; + int otmAscent; + int otmDescent; + UINT otmLineGap; + UINT otmsCapEmHeight; + UINT otmsXHeight; + RECT otmrcFontBox; + int otmMacAscent; + int otmMacDescent; + UINT otmMacLineGap; + UINT otmusMinimumPPEM; + POINT otmptSubscriptSize; + POINT otmptSubscriptOffset; + POINT otmptSuperscriptSize; + POINT otmptSuperscriptOffset; + UINT otmsStrikeoutSize; + int otmsStrikeoutPosition; + int otmsUnderscoreSize; + int otmsUnderscorePosition; + PSTR otmpFamilyName; + PSTR otmpFaceName; + PSTR otmpStyleName; + PSTR otmpFullName; +} + +alias OUTLINETEXTMETRIC* LPOUTLINETEXTMETRIC; +alias OUTLINETEXTMETRIC _OUTLINETEXTMETRIC; +alias OUTLINETEXTMETRIC TOUTLINETEXTMETRIC; +alias OUTLINETEXTMETRIC* POUTLINETEXTMETRIC; +version(Win32SansUnicode) +{ + alias OUTLINETEXTMETRICA OUTLINETEXTMETRIC; + alias OUTLINETEXTMETRICA* LPOUTLINETEXTMETRICA; +} +else +{ + alias OUTLINETEXTMETRICW OUTLINETEXTMETRIC; + alias OUTLINETEXTMETRICW* LPOUTLINETEXTMETRICW; +} + +struct OVERLAPPED +{ + DWORD Internal; + DWORD InternalHigh; + DWORD Offset; + DWORD OffsetHigh; + HANDLE hEvent; +} + +alias OVERLAPPED* LPOVERLAPPED; +alias OVERLAPPED _OVERLAPPED; +alias OVERLAPPED TOVERLAPPED; +alias OVERLAPPED* POVERLAPPED; + +struct TPAGESETUPDLG +{ + DWORD lStructSize; + HWND hwndOwner; + HGLOBAL hDevMode; + HGLOBAL hDevNames; + DWORD Flags; + POINT ptPaperSize; + RECT rtMinMargin; + RECT rtMargin; + HINST hInstance; + LPARAM lCustData; + LPPAGESETUPHOOK lpfnPageSetupHook; + LPPAGEPAINTHOOK lpfnPagePaintHook; + LPCTSTR lpPageSetupTemplateName; + HGLOBAL hPageSetupTemplate; +} + +alias TPAGESETUPDLG* LPPAGESETUPDLG; +alias TPAGESETUPDLG* PPAGESETUPDLG; +alias TPAGESETUPDLG TAGPSD; +alias TPAGESETUPDLG TPSD; +alias TPAGESETUPDLG* PPSD; + +struct PAINTSTRUCT +{ + HDC hdc; + WINBOOL fErase; + RECT rcPaint; + WINBOOL fRestore; + WINBOOL fIncUpdate; + ubyte[1 + 31] rgbReserved; +} + +alias PAINTSTRUCT* LPPAINTSTRUCT; +alias PAINTSTRUCT TAGPAINTSTRUCT; +alias PAINTSTRUCT TPAINTSTRUCT; +alias PAINTSTRUCT* PPAINTSTRUCT; + +struct PARAFORMAT +{ + UINT cbSize; + DWORD dwMask; + ushort wNumbering; + ushort wReserved; + LONG dxStartIndent; + LONG dxRightIndent; + LONG dxOffset; + ushort wAlignment; + SHORT cTabCount; + LONG[1 + MAX_TAB_STOPS-1] rgxTabs; +} + +alias PARAFORMAT _PARAFORMAT; +alias PARAFORMAT TPARAFORMAT; +alias PARAFORMAT* PPARAFORMAT; + +struct PERF_COUNTER_BLOCK +{ + DWORD ByteLength; +} + +alias PERF_COUNTER_BLOCK _PERF_COUNTER_BLOCK; +alias PERF_COUNTER_BLOCK TPERFCOUNTERBLOCK; +alias PERF_COUNTER_BLOCK* PPERFCOUNTERBLOCK; + +struct PERF_COUNTER_DEFINITION +{ + DWORD ByteLength; + DWORD CounterNameTitleIndex; + LPWSTR CounterNameTitle; + DWORD CounterHelpTitleIndex; + LPWSTR CounterHelpTitle; + DWORD DefaultScale; + DWORD DetailLevel; + DWORD CounterType; + DWORD CounterSize; + DWORD CounterOffset; +} + +alias PERF_COUNTER_DEFINITION _PERF_COUNTER_DEFINITION; +alias PERF_COUNTER_DEFINITION TPERFCOUNTERDEFINITION; +alias PERF_COUNTER_DEFINITION* PPERFCOUNTERDEFINITION; + +struct PERF_DATA_BLOCK +{ + WCHAR[1 + 3] Signature; + DWORD LittleEndian; + DWORD Version; + DWORD Revision; + DWORD TotalByteLength; + DWORD HeaderLength; + DWORD NumObjectTypes; + DWORD DefaultObject; + SYSTEMTIME SystemTime; + LARGE_INTEGER PerfTime; + LARGE_INTEGER PerfFreq; + LARGE_INTEGER PerfTime100nSec; + DWORD SystemNameLength; + DWORD SystemNameOffset; +} + +alias PERF_DATA_BLOCK _PERF_DATA_BLOCK; +alias PERF_DATA_BLOCK TPERFDATABLOCK; +alias PERF_DATA_BLOCK* PPERFDATABLOCK; + +struct PERF_INSTANCE_DEFINITION +{ + DWORD ByteLength; + DWORD ParentObjectTitleIndex; + DWORD ParentObjectInstance; + DWORD UniqueID; + DWORD NameOffset; + DWORD NameLength; +} + +alias PERF_INSTANCE_DEFINITION _PERF_INSTANCE_DEFINITION; +alias PERF_INSTANCE_DEFINITION TPERFINSTANCEDEFINITION; +alias PERF_INSTANCE_DEFINITION PPERFINSTANCEDEFINITION; + +struct PERF_OBJECT_TYPE +{ + DWORD TotalByteLength; + DWORD DefinitionLength; + DWORD HeaderLength; + DWORD ObjectNameTitleIndex; + LPWSTR ObjectNameTitle; + DWORD ObjectHelpTitleIndex; + LPWSTR ObjectHelpTitle; + DWORD DetailLevel; + DWORD NumCounters; + DWORD DefaultCounter; + DWORD NumInstances; + DWORD CodePage; + LARGE_INTEGER PerfTime; + LARGE_INTEGER PerfFreq; +} + +alias PERF_OBJECT_TYPE _PERF_OBJECT_TYPE; +alias PERF_OBJECT_TYPE TPERFOBJECTTYPE; +alias PERF_OBJECT_TYPE* PPERFOBJECTTYPE; + +struct POLYTEXT +{ + int x; + int y; + UINT n; + LPCTSTR lpstr; + UINT uiFlags; + RECT rcl; + int* pdx; +} + +alias POLYTEXT _POLYTEXT; +alias POLYTEXT TPOLYTEXT; +alias POLYTEXT* PPOLYTEXT; + +struct PORT_INFO_1 +{ + LPTSTR pName; +} + +alias PORT_INFO_1 _PORT_INFO_1; +alias PORT_INFO_1 TPORTINFO1; +alias PORT_INFO_1* PPORTINFO1; + +struct PORT_INFO_2 +{ + LPSTR pPortName; + LPSTR pMonitorName; + LPSTR pDescription; + DWORD fPortType; + DWORD Reserved; +} + +alias PORT_INFO_2 _PORT_INFO_2; +alias PORT_INFO_2 TPORTINFO2; +alias PORT_INFO_2* PPORTINFO2; + +struct PREVENT_MEDIA_REMOVAL +{ + ubyte PreventMediaRemoval; +} + +alias PREVENT_MEDIA_REMOVAL _PREVENT_MEDIA_REMOVAL; +alias PREVENT_MEDIA_REMOVAL TPREVENTMEDIAREMOVAL; +alias PREVENT_MEDIA_REMOVAL* PPREVENTMEDIAREMOVAL; + +align(1) struct TPRINTDLG +{ + DWORD lStructSize; + HWND hwndOwner; + HANDLE hDevMode; + HANDLE hDevNames; + HDC hDC; + DWORD Flags; + ushort nFromPage; + ushort nToPage; + ushort nMinPage; + ushort nMaxPage; + ushort nCopies; + HINST hInstance; + DWORD lCustData; + LPPRINTHOOKPROC lpfnPrintHook; + LPSETUPHOOKPROC lpfnSetupHook; + LPCTSTR lpPrintTemplateName; + LPCTSTR lpSetupTemplateName; + HANDLE hPrintTemplate; + HANDLE hSetupTemplate; +} + +alias TPRINTDLG* LPPRINTDLG; +alias TPRINTDLG* PPRINTDLG; +alias TPRINTDLG TAGPD; +alias TPRINTDLG TPD; +alias TPRINTDLG* PPD; + +struct PRINTER_DEFAULTS +{ + LPTSTR pDatatype; + LPDEVMODE pDevMode; + ACCESS_MASK DesiredAccess; +} + +alias PRINTER_DEFAULTS _PRINTER_DEFAULTS; +alias PRINTER_DEFAULTS TPRINTERDEFAULTS; +alias PRINTER_DEFAULTS* PPRINTERDEFAULTS; + +struct PRINTER_INFO_1 +{ + DWORD Flags; + LPTSTR pDescription; + LPTSTR pName; + LPTSTR pComment; +} + +alias PRINTER_INFO_1* LPPRINTER_INFO_1; +alias PRINTER_INFO_1* PPRINTER_INFO_1; +alias PRINTER_INFO_1 _PRINTER_INFO_1; +alias PRINTER_INFO_1 TPRINTERINFO1; +alias PRINTER_INFO_1* PPRINTERINFO1; + +struct PRINTER_INFO_2 +{ + LPTSTR pServerName; + LPTSTR pPrinterName; + LPTSTR pShareName; + LPTSTR pPortName; + LPTSTR pDriverName; + LPTSTR pComment; + LPTSTR pLocation; + LPDEVMODE pDevMode; + LPTSTR pSepFile; + LPTSTR pPrintProcessor; + LPTSTR pDatatype; + LPTSTR pParameters; + PSECURITY_DESCRIPTOR pSecurityDescriptor; + DWORD Attributes; + DWORD Priority; + DWORD DefaultPriority; + DWORD StartTime; + DWORD UntilTime; + DWORD Status; + DWORD cJobs; + DWORD AveragePPM; +} + +alias PRINTER_INFO_2 _PRINTER_INFO_2; +alias PRINTER_INFO_2 TPRINTERINFO2; +alias PRINTER_INFO_2* PPRINTERINFO2; + +struct PRINTER_INFO_3 +{ + PSECURITY_DESCRIPTOR pSecurityDescriptor; +} + +alias PRINTER_INFO_3 _PRINTER_INFO_3; +alias PRINTER_INFO_3 TPRINTERINFO3; +alias PRINTER_INFO_3* PPRINTERINFO3; + +struct PRINTER_INFO_4 +{ + LPTSTR pPrinterName; + LPTSTR pServerName; + DWORD Attributes; +} + +alias PRINTER_INFO_4 _PRINTER_INFO_4; +alias PRINTER_INFO_4 TPRINTERINFO4; +alias PRINTER_INFO_4* PPRINTERINFO4; + +struct PRINTER_INFO_5 +{ + LPTSTR pPrinterName; + LPTSTR pPortName; + DWORD Attributes; + DWORD DeviceNotSelectedTimeout; + DWORD TransmissionRetryTimeout; +} + +alias PRINTER_INFO_5 _PRINTER_INFO_5; +alias PRINTER_INFO_5 TPRINTERINFO5; +alias PRINTER_INFO_5* PPRINTERINFO5; + +struct PRINTER_NOTIFY_INFO_DATA +{ + ushort _Type; + ushort Field; + DWORD Reserved; + DWORD Id; + + union + { + struct + { + DWORD[1 + 1] adwData; + } + struct + { + DWORD cbBuf; + LPVOID pBuf; + } + } +} + +alias PRINTER_NOTIFY_INFO_DATA _PRINTER_NOTIFY_INFO_DATA; +alias PRINTER_NOTIFY_INFO_DATA TPRINTERNOTIFYINFODATA; +alias PRINTER_NOTIFY_INFO_DATA* PPRINTERNOTIFYINFODATA; + +struct PRINTER_NOTIFY_INFO +{ + DWORD Version; + DWORD Flags; + DWORD Count; + PRINTER_NOTIFY_INFO_DATA[1 + 0] aData; +} + +alias PRINTER_NOTIFY_INFO _PRINTER_NOTIFY_INFO; +alias PRINTER_NOTIFY_INFO TPRINTERNOTIFYINFO; +alias PRINTER_NOTIFY_INFO* PPRINTERNOTIFYINFO; + +struct PRINTER_NOTIFY_OPTIONS_TYPE +{ + ushort _Type; + ushort Reserved0; + DWORD Reserved1; + DWORD Reserved2; + DWORD Count; + PWORD pFields; +} + +alias PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTER_NOTIFY_OPTIONS_TYPE; +alias PRINTER_NOTIFY_OPTIONS_TYPE _PRINTER_NOTIFY_OPTIONS_TYPE; +alias PRINTER_NOTIFY_OPTIONS_TYPE TPRINTERNOTIFYOPTIONSTYPE; +alias PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTERNOTIFYOPTIONSTYPE; + +struct PRINTER_NOTIFY_OPTIONS +{ + DWORD Version; + DWORD Flags; + DWORD Count; + PPRINTER_NOTIFY_OPTIONS_TYPE pTypes; +} + +alias PRINTER_NOTIFY_OPTIONS _PRINTER_NOTIFY_OPTIONS; +alias PRINTER_NOTIFY_OPTIONS TPRINTERNOTIFYOPTIONS; +alias PRINTER_NOTIFY_OPTIONS* PPRINTERNOTIFYOPTIONS; + +struct PRINTPROCESSOR_INFO_1 +{ + LPTSTR pName; +} + +alias PRINTPROCESSOR_INFO_1 _PRINTPROCESSOR_INFO_1; +alias PRINTPROCESSOR_INFO_1 TPRINTPROCESSORINFO1; +alias PRINTPROCESSOR_INFO_1* PPRINTPROCESSORINFO1; + +struct PRIVILEGE_SET +{ + DWORD PrivilegeCount; + DWORD Control; + LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Privilege; +} + +alias PRIVILEGE_SET* LPPRIVILEGE_SET; +alias PRIVILEGE_SET* PPRIVILEGE_SET; +alias PRIVILEGE_SET _PRIVILEGE_SET; +alias PRIVILEGE_SET TPRIVILEGESET; +alias PRIVILEGE_SET* PPRIVILEGESET; + +struct PROCESS_HEAPENTRY +{ + PVOID lpData; + DWORD cbData; + ubyte cbOverhead; + ubyte iRegionIndex; + ushort wFlags; + DWORD dwCommittedSize; + DWORD dwUnCommittedSize; + LPVOID lpFirstBlock; + LPVOID lpLastBlock; + HANDLE hMem; +} + +alias PROCESS_HEAPENTRY* LPPROCESS_HEAP_ENTRY; +alias PROCESS_HEAPENTRY _PROCESS_HEAP_ENTRY; +alias PROCESS_HEAPENTRY TPROCESSHEAPENTRY; +alias PROCESS_HEAPENTRY* PPROCESSHEAPENTRY; + +struct PROCESS_INFORMATION +{ + HANDLE hProcess; + HANDLE hThread; + DWORD dwProcessId; + DWORD dwThreadId; +} + +alias PROCESS_INFORMATION* LPPROCESS_INFORMATION; +alias PROCESS_INFORMATION _PROCESS_INFORMATION; +alias PROCESS_INFORMATION TPROCESSINFORMATION; +alias PROCESS_INFORMATION* PPROCESSINFORMATION; +extern(Windows){alias UINT (*LPFNPSPCALLBACK)(HWND, UINT, LPVOID);} +alias LPFNPSPCALLBACK TFNPSPCALLBACK; + +struct PROPSHEETPAGE_U1 +{ + + union + { + struct + { + LPCTSTR pszTemplate; + } + struct + { + LPCDLGTEMPLATE pResource; + } + } +} + + +struct PROPSHEETPAGE_U2 +{ + + union + { + struct + { + HICON hIcon; + } + struct + { + LPCTSTR pszIcon; + } + } +} + + +struct PROPSHEETPAGE +{ + DWORD dwSize; + DWORD dwFlags; + HINST hInstance; + PROPSHEETPAGE_U1 u1; + PROPSHEETPAGE_U2 u2; + LPCTSTR pszTitle; + DLGPROC pfnDlgProc; + LPARAM lParam; + LPFNPSPCALLBACK pfnCallback; + UINT* pcRefParent; +} + +alias PROPSHEETPAGE* LPPROPSHEETPAGE; +alias PROPSHEETPAGE* LPCPROPSHEETPAGE; +alias PROPSHEETPAGE _PROPSHEETPAGE; +alias PROPSHEETPAGE TPROPSHEETPAGE; +alias PROPSHEETPAGE* PPROPSHEETPAGE; + +struct EMPTYRECORD +{ +} + +alias EMPTYRECORD* HPROPSHEETPAGE; + +struct PROPSHEETHEADER_U1 +{ + + union + { + struct + { + HICON hIcon; + } + struct + { + LPCTSTR pszIcon; + } + } +} + + +struct PROPSHEETHEADER_U2 +{ + + union + { + struct + { + UINT nStartPage; + } + struct + { + LPCTSTR pStartPage; + } + } +} + + +struct PROPSHEETHEADER_U3 +{ + + union + { + struct + { + LPCPROPSHEETPAGE ppsp; + } + struct + { + HPROPSHEETPAGE* phpage; + } + } +} + + +struct PROPSHEETHEADER +{ + DWORD dwSize; + DWORD dwFlags; + HWND hwndParent; + HINST hInstance; + PROPSHEETHEADER_U1 u1; + LPCTSTR pszCaption; + UINT nPages; + PROPSHEETHEADER_U2 u2; + PROPSHEETHEADER_U3 u3; + PFNPROPSHEETCALLBACK pfnCallback; +} + +alias PROPSHEETHEADER* LPPROPSHEETHEADER; +alias PROPSHEETHEADER* LPCPROPSHEETHEADER; +alias PROPSHEETHEADER _PROPSHEETHEADER; +alias PROPSHEETHEADER TPROPSHEETHEADER; +alias PROPSHEETHEADER* PPROPSHEETHEADER; +extern(Windows){ +alias WINBOOL (*LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM); +alias WINBOOL (*LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM); +} +alias LPFNADDPROPSHEETPAGE TFNADDPROPSHEETPAGE; +alias LPFNADDPROPSHEETPAGES TFNADDPROPSHEETPAGES; + +struct PROTOCOL_INFO +{ + DWORD dwServiceFlags; + INT iAddressFamily; + INT iMaxSockAddr; + INT iMinSockAddr; + INT iSocketType; + INT iProtocol; + DWORD dwMessageSize; + LPTSTR lpProtocol; +} + +alias PROTOCOL_INFO _PROTOCOL_INFO; +alias PROTOCOL_INFO TPROTOCOLINFO; +alias PROTOCOL_INFO* PPROTOCOLINFO; + +struct PROVIDOR_INFO_1 +{ + LPTSTR pName; + LPTSTR pEnvironment; + LPTSTR pDLLName; +} + +alias PROVIDOR_INFO_1 _PROVIDOR_INFO_1; +alias PROVIDOR_INFO_1 TPROVIDORINFO1; +alias PROVIDOR_INFO_1* PPROVIDORINFO1; + +struct PSHNOTIFY +{ + NMHDR hdr; + LPARAM lParam; +} + +alias PSHNOTIFY* LPPSHNOTIFY; +alias PSHNOTIFY _PSHNOTIFY; +alias PSHNOTIFY TPSHNOTIFY; +alias PSHNOTIFY* PPSHNOTIFY; + +struct PUNCTUATION +{ + UINT iSize; + LPSTR szPunctuation; +} + +alias PUNCTUATION _PUNCTUATION; +alias PUNCTUATION TPUNCTUATION; +alias PUNCTUATION* PPUNCTUATION; + +struct QUERY_SERVICE_CONFIG +{ + DWORD dwServiceType; + DWORD dwStartType; + DWORD dwErrorControl; + LPTSTR lpBinaryPathName; + LPTSTR lpLoadOrderGroup; + DWORD dwTagId; + LPTSTR lpDependencies; + LPTSTR lpServiceStartName; + LPTSTR lpDisplayName; +} + +alias QUERY_SERVICE_CONFIG* LPQUERY_SERVICE_CONFIG; +alias QUERY_SERVICE_CONFIG _QUERY_SERVICE_CONFIG; +alias QUERY_SERVICE_CONFIG TQUERYSERVICECONFIG; +alias QUERY_SERVICE_CONFIG* PQUERYSERVICECONFIG; + +struct QUERY_SERVICE_LOCK_STATUS +{ + DWORD fIsLocked; + LPTSTR lpLockOwner; + DWORD dwLockDuration; +} + +alias QUERY_SERVICE_LOCK_STATUS* LPQUERY_SERVICE_LOCK_STATUS; +alias QUERY_SERVICE_LOCK_STATUS _QUERY_SERVICE_LOCK_STATUS; +alias QUERY_SERVICE_LOCK_STATUS TQUERYSERVICELOCKSTATUS; +alias QUERY_SERVICE_LOCK_STATUS* PQUERYSERVICELOCKSTATUS; + +struct RASAMB +{ + DWORD dwSize; + DWORD dwError; + TCHAR[1 + NETBIOS_NAME_LEN+1-1] szNetBiosError; + ubyte bLana; +} + +alias RASAMB _RASAMB; +alias RASAMB TRASAMB; +alias RASAMB* PRASAMB; + +struct RASCONN +{ + DWORD dwSize; + HRASCONN hrasconn; + TCHAR[1 + RAS_MaxEntryName+1-1] szEntryName; + char[1 + RAS_MaxDeviceType+1-1] szDeviceType; + char[1 + RAS_MaxDeviceName+1-1] szDeviceName; +} + +alias RASCONN _RASCONN; +alias RASCONN TRASCONN; +alias RASCONN* PRASCONN; + +struct RASCONNSTATUS +{ + DWORD dwSize; + RASCONNSTATE rasconnstate; + DWORD dwError; + TCHAR[1 + RAS_MaxDeviceType+1-1] szDeviceType; + TCHAR[1 + RAS_MaxDeviceName+1-1] szDeviceName; +} + +alias RASCONNSTATUS _RASCONNSTATUS; +alias RASCONNSTATUS TRASCONNSTATUS; +alias RASCONNSTATUS* PRASCONNSTATUS; + +struct RASDIALEXTENSIONS +{ + DWORD dwSize; + DWORD dwfOptions; + HWND hwndParent; + DWORD reserved; +} + +alias RASDIALEXTENSIONS _RASDIALEXTENSIONS; +alias RASDIALEXTENSIONS TRASDIALEXTENSIONS; +alias RASDIALEXTENSIONS* PRASDIALEXTENSIONS; + +struct RASDIALPARAMS +{ + DWORD dwSize; + TCHAR[1 + RAS_MaxEntryName+1-1] szEntryName; + TCHAR[1 + RAS_MaxPhoneNumber+1-1] szPhoneNumber; + TCHAR[1 + (RAS_MaxCallbackNumber+1)-1] szCallbackNumber; + TCHAR[1 + (UNLEN+1)-1] szUserName; + TCHAR[1 + (PWLEN+1)-1] szPassword; + TCHAR[1 + (DNLEN+1)-1] szDomain; +} + +alias RASDIALPARAMS _RASDIALPARAMS; +alias RASDIALPARAMS TRASDIALPARAMS; +alias RASDIALPARAMS* PRASDIALPARAMS; + +struct RASENTRYNAME +{ + DWORD dwSize; + TCHAR[1 + (RAS_MaxEntryName+1)-1] szEntryName; +} + +alias RASENTRYNAME _RASENTRYNAME; +alias RASENTRYNAME TRASENTRYNAME; +alias RASENTRYNAME* PRASENTRYNAME; + +struct RASPPPIP +{ + DWORD dwSize; + DWORD dwError; + TCHAR[1 + (RAS_MaxIpAddress+1)-1] szIpAddress; +} + +alias RASPPPIP _RASPPPIP; +alias RASPPPIP TRASPPPIP; +alias RASPPPIP* PRASPPPIP; + +struct RASPPPIPX +{ + DWORD dwSize; + DWORD dwError; + TCHAR[1 + (RAS_MaxIpxAddress+1)-1] szIpxAddress; +} + +alias RASPPPIPX _RASPPPIPX; +alias RASPPPIPX TRASPPPIPX; +alias RASPPPIPX* PRASPPPIPX; + +struct RASPPPNBF +{ + DWORD dwSize; + DWORD dwError; + DWORD dwNetBiosError; + TCHAR[1 + (NETBIOS_NAME_LEN+1)-1] szNetBiosError; + TCHAR[1 + (NETBIOS_NAME_LEN+1)-1] szWorkstationName; + ubyte bLana; +} + +alias RASPPPNBF _RASPPPNBF; +alias RASPPPNBF TRASPPPNBF; +alias RASPPPNBF* PRASPPPNBF; + +struct RASTERIZER_STATUS +{ + int nSize; + int wFlags; + int nLanguageID; +} + +alias RASTERIZER_STATUS* LPRASTERIZER_STATUS; +alias RASTERIZER_STATUS _RASTERIZER_STATUS; +alias RASTERIZER_STATUS TRASTERIZERSTATUS; +alias RASTERIZER_STATUS* PRASTERIZERSTATUS; + +struct REASSIGN_BLOCKS +{ + ushort Reserved; + ushort Count; + DWORD[1 + 0] BlockNumber; +} + +alias REASSIGN_BLOCKS _REASSIGN_BLOCKS; +alias REASSIGN_BLOCKS TREASSIGNBLOCKS; +alias REASSIGN_BLOCKS* PREASSIGNBLOCKS; + +struct REMOTE_NAME_INFO +{ + LPTSTR lpUniversalName; + LPTSTR lpConnectionName; + LPTSTR lpRemainingPath; +} + +alias REMOTE_NAME_INFO _REMOTE_NAME_INFO; +alias REMOTE_NAME_INFO TREMOTENAMEINFO; +alias REMOTE_NAME_INFO* PREMOTENAMEINFO; + +struct REPASTESPECIAL +{ + DWORD dwAspect; + DWORD dwParam; +} + +alias REPASTESPECIAL _REPASTESPECIAL; +alias REPASTESPECIAL TREPASTESPECIAL; +alias REPASTESPECIAL* PREPASTESPECIAL; + +struct REQRESIZE +{ + NMHDR nmhdr; + RECT rc; +} + +alias REQRESIZE _REQRESIZE; +alias REQRESIZE TREQRESIZE; +alias REQRESIZE* PREQRESIZE; + +struct RGNDATAHEADER +{ + DWORD dwSize; + DWORD iType; + DWORD nCount; + DWORD nRgnSize; + RECT rcBound; +} + +alias RGNDATAHEADER _RGNDATAHEADER; +alias RGNDATAHEADER TRGNDATAHEADER; +alias RGNDATAHEADER* PRGNDATAHEADER; +alias RGNDATAHEADER* LPRGNDATAHEADER; + +struct RGNDATA +{ + RGNDATAHEADER rdh; + char[1 + 0] Buffer; +} + +alias RGNDATA* LPRGNDATA; +alias RGNDATA _RGNDATA; +alias RGNDATA TRGNDATA; +alias RGNDATA* PRGNDATA; + +struct SCROLLINFO +{ + UINT cbSize; + UINT fMask; + int nMin; + int nMax; + UINT nPage; + int nPos; + int nTrackPos; +} + +alias SCROLLINFO* LPSCROLLINFO; +alias SCROLLINFO* LPCSCROLLINFO; +alias SCROLLINFO TAGSCROLLINFO; +alias SCROLLINFO TSCROLLINFO; +alias SCROLLINFO* PSCROLLINFO; + +struct SECURITY_ATTRIBUTES +{ + DWORD nLength; + LPVOID lpSecurityDescriptor; + WINBOOL bInheritHandle; +} + +alias SECURITY_ATTRIBUTES* LPSECURITY_ATTRIBUTES; +alias SECURITY_ATTRIBUTES _SECURITY_ATTRIBUTES; +alias SECURITY_ATTRIBUTES TSECURITYATTRIBUTES; +alias SECURITY_ATTRIBUTES* PSECURITYATTRIBUTES; +alias DWORD SECURITY_INFORMATION; +alias SECURITY_INFORMATION* PSECURITY_INFORMATION; +alias SECURITY_INFORMATION TSECURITYINFORMATION; +alias SECURITY_INFORMATION* PSECURITYINFORMATION; + +struct SELCHANGE +{ + NMHDR nmhdr; + CHARRANGE chrg; + ushort seltyp; +} + +alias SELCHANGE _SELCHANGE; +alias SELCHANGE TSELCHANGE; +alias SELCHANGE* PSELCHANGE; + +struct SERIALKEYS +{ + DWORD cbSize; + DWORD dwFlags; + LPSTR lpszActivePort; + LPSTR lpszPort; + DWORD iBaudRate; + DWORD iPortState; +} + +alias SERIALKEYS* LPSERIALKEYS; +alias SERIALKEYS TAGSERIALKEYS; +alias SERIALKEYS TSERIALKEYS; +alias SERIALKEYS* PSERIALKEYS; + +struct SERVICE_TABLE_ENTRY +{ + LPTSTR lpServiceName; + LPSERVICE_MAIN_FUNCTION lpServiceProc; +} + +alias SERVICE_TABLE_ENTRY* LPSERVICE_TABLE_ENTRY; +alias SERVICE_TABLE_ENTRY _SERVICE_TABLE_ENTRY; +alias SERVICE_TABLE_ENTRY TSERVICETABLEENTRY; +alias SERVICE_TABLE_ENTRY* PSERVICETABLEENTRY; + +struct SERVICE_TYPE_VALUE_ABS +{ + DWORD dwNameSpace; + DWORD dwValueType; + DWORD dwValueSize; + LPTSTR lpValueName; + PVOID lpValue; +} + +alias SERVICE_TYPE_VALUE_ABS _SERVICE_TYPE_VALUE_ABS; +alias SERVICE_TYPE_VALUE_ABS TSERVICETYPEVALUEABS; +alias SERVICE_TYPE_VALUE_ABS* PSERVICETYPEVALUEABS; + +struct SERVICE_TYPE_INFO_ABS +{ + LPTSTR lpTypeName; + DWORD dwValueCount; + SERVICE_TYPE_VALUE_ABS[1 + 0] Values; +} + +alias SERVICE_TYPE_INFO_ABS _SERVICE_TYPE_INFO_ABS; +alias SERVICE_TYPE_INFO_ABS TSERVICETYPEINFOABS; +alias SERVICE_TYPE_INFO_ABS* PSERVICETYPEINFOABS; + +struct SESSION_BUFFER +{ + UCHAR lsn; + UCHAR state; + UCHAR[1 + NCBNAMSZ-1] local_name; + UCHAR[1 + NCBNAMSZ-1] remote_name; + UCHAR rcvs_outstanding; + UCHAR sends_outstanding; +} + +alias SESSION_BUFFER _SESSION_BUFFER; +alias SESSION_BUFFER TSESSIONBUFFER; +alias SESSION_BUFFER* PSESSIONBUFFER; + +struct SESSION_HEADER +{ + UCHAR sess_name; + UCHAR num_sess; + UCHAR rcv_dg_outstanding; + UCHAR rcv_any_outstanding; +} + +alias SESSION_HEADER _SESSION_HEADER; +alias SESSION_HEADER TSESSIONHEADER; +alias SESSION_HEADER* PSESSIONHEADER; + +struct SET_PARTITION_INFORMATION +{ + ubyte PartitionType; +} + +alias SET_PARTITION_INFORMATION _SET_PARTITION_INFORMATION; +alias SET_PARTITION_INFORMATION TSETPARTITIONINFORMATION; +alias SET_PARTITION_INFORMATION* PSETPARTITIONINFORMATION; +alias int SHCONTF; +enum { SHCONTF_FOLDERS = 32, SHCONTF_NONFOLDERS = 64, SHCONTF_INCLUDEHIDDEN = 128, }; +alias SHCONTF TAGSHCONTF; +alias SHCONTF TSHCONTF; + +struct SHFILEINFOA +{ + HICON hIcon; + int iIcon; + DWORD dwAttributes; + CHAR[MAX_PATH] szDisplayName; + CHAR[80] szTypeName; +} +struct SHFILEINFOW +{ + HICON hIcon; + int iIcon; + DWORD dwAttributes; + WCHAR[MAX_PATH] szDisplayName; + WCHAR[80] szTypeName; +} +version(Win32SansUnicode) +{ + alias SHFILEINFOA SHFILEINFO; +} +else +{ + alias SHFILEINFOW SHFILEINFO; +} + +alias SHFILEINFO _SHFILEINFO; +alias SHFILEINFO TSHFILEINFO; +alias SHFILEINFO* PSHFILEINFO; + +alias ushort FILEOP_FLAGS; +alias FILEOP_FLAGS TFILEOPFLAGS; +alias FILEOP_FLAGS* PFILEOPFLAGS; + +struct SHFILEOPSTRUCT +{ + HWND hwnd; + UINT wFunc; + LPCSTR pFrom; + LPCSTR pTo; + FILEOP_FLAGS fFlags; + WINBOOL fAnyOperationsAborted; + LPVOID hNameMappings; + LPCSTR lpszProgressTitle; +} + +alias SHFILEOPSTRUCT* LPSHFILEOPSTRUCT; +alias SHFILEOPSTRUCT _SHFILEOPSTRUCT; +alias SHFILEOPSTRUCT TSHFILEOPSTRUCT; +alias SHFILEOPSTRUCT* PSHFILEOPSTRUCT; +alias int SHGNO; +enum { SHGDN_NORMAL = 0, SHGDN_INFOLDER = 1, SHGDN_FORPARSING = 0x8000, }; +alias SHGNO TAGSHGDN; +alias SHGNO TSHGDN; + +struct SHNAMEMAPPING +{ + LPSTR pszOldPath; + LPSTR pszNewPath; + int cchOldPath; + int cchNewPath; +} + +alias SHNAMEMAPPING* LPSHNAMEMAPPING; +alias SHNAMEMAPPING _SHNAMEMAPPING; +alias SHNAMEMAPPING TSHNAMEMAPPING; +alias SHNAMEMAPPING* PSHNAMEMAPPING; + +struct SID_AND_ATTRIBUTES +{ + PSID Sid; + DWORD Attributes; +} + +alias SID_AND_ATTRIBUTES _SID_AND_ATTRIBUTES; +alias SID_AND_ATTRIBUTES TSIDANDATTRIBUTES; +alias SID_AND_ATTRIBUTES* PSIDANDATTRIBUTES; +alias SID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] SID_AND_ATTRIBUTES_ARRAY; +alias SID_AND_ATTRIBUTES_ARRAY* PSID_AND_ATTRIBUTES_ARRAY; +alias SID_AND_ATTRIBUTES_ARRAY TSIDANDATTRIBUTESARRAY; +alias SID_AND_ATTRIBUTES_ARRAY* PSIDANDATTRIBUTESARRAY; + +struct SINGLE_LIST_ENTRY +{ + _SINGLE_LIST_ENTRY* Next; +} + +alias SINGLE_LIST_ENTRY _SINGLE_LIST_ENTRY; +alias SINGLE_LIST_ENTRY TSINGLELISTENTRY; +alias SINGLE_LIST_ENTRY* PSINGLELISTENTRY; + +struct SOUNDSENTRY +{ + UINT cbSize; + DWORD dwFlags; + DWORD iFSTextEffect; + DWORD iFSTextEffectMSec; + DWORD iFSTextEffectColorBits; + DWORD iFSGrafEffect; + DWORD iFSGrafEffectMSec; + DWORD iFSGrafEffectColor; + DWORD iWindowsEffect; + DWORD iWindowsEffectMSec; + LPTSTR lpszWindowsEffectDLL; + DWORD iWindowsEffectOrdinal; +} + +alias SOUNDSENTRY* LPSOUNDSENTRY; +alias SOUNDSENTRY TAGSOUNDSENTRY; +alias SOUNDSENTRY TSOUNDSENTRY; +alias SOUNDSENTRY* PSOUNDSENTRY; + +struct STARTUPINFO +{ + DWORD cb; + LPTSTR lpReserved; + LPTSTR lpDesktop; + LPTSTR lpTitle; + DWORD dwX; + DWORD dwY; + DWORD dwXSize; + DWORD dwYSize; + DWORD dwXCountChars; + DWORD dwYCountChars; + DWORD dwFillAttribute; + DWORD dwFlags; + ushort wShowWindow; + ushort cbReserved2; + LPBYTE lpReserved2; + HANDLE hStdInput; + HANDLE hStdOutput; + HANDLE hStdError; +} + +alias STARTUPINFO* LPSTARTUPINFO; +alias STARTUPINFO _STARTUPINFO; +alias STARTUPINFO TSTARTUPINFO; +alias STARTUPINFO* PSTARTUPINFO; + +struct STICKYKEYS +{ + DWORD cbSize; + DWORD dwFlags; +} + +alias STICKYKEYS* LPSTICKYKEYS; +alias STICKYKEYS TAGSTICKYKEYS; +alias STICKYKEYS TSTICKYKEYS; +alias STICKYKEYS* PSTICKYKEYS; + +struct STRRET +{ + UINT uType; + + union + { + struct + { + LPWSTR pOleStr; + } + struct + { + UINT uOffset; + } + struct + { + char[1 + MAX_PATH-1] cStr; + } + } +} + +alias STRRET* LPSTRRET; +alias STRRET _STRRET; +alias STRRET TSTRRET; +alias STRRET* PSTRRET; + +struct STYLEBUF +{ + DWORD dwStyle; + char[1 + 31] szDescription; +} + +alias STYLEBUF* LPSTYLEBUF; +alias STYLEBUF _TAGSTYLEBUF; +alias STYLEBUF TSTYLEBUF; +alias STYLEBUF* PSTYLEBUF; + +struct STYLESTRUCT +{ + DWORD styleOld; + DWORD styleNew; +} + +alias STYLESTRUCT* LPSTYLESTRUCT; +alias STYLESTRUCT TAGSTYLESTRUCT; +alias STYLESTRUCT TSTYLESTRUCT; +alias STYLESTRUCT* PSTYLESTRUCT; + +struct SYSTEM_AUDIT_ACE +{ + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} + +alias SYSTEM_AUDIT_ACE _SYSTEM_AUDIT_ACE; +alias SYSTEM_AUDIT_ACE TSYSTEMAUDITACE; +alias SYSTEM_AUDIT_ACE* PSYSTEMAUDITACE; + +struct SYSTEM_INFO_U +{ + + union + { + struct + { + DWORD dwOemId; + } + struct + { + ushort wProcessorArchitecture; + ushort wReserved; + } + } +} + + +struct SYSTEM_INFO +{ + SYSTEM_INFO_U u; + DWORD dwPageSize; + LPVOID lpMinimumApplicationAddress; + LPVOID lpMaximumApplicationAddress; + DWORD dwActiveProcessorMask; + DWORD dwNumberOfProcessors; + DWORD dwProcessorType; + DWORD dwAllocationGranularity; + ushort wProcessorLevel; + ushort wProcessorRevision; +} + +alias SYSTEM_INFO* LPSYSTEM_INFO; +alias SYSTEM_INFO _SYSTEM_INFO; +alias SYSTEM_INFO TSYSTEMINFO; +alias SYSTEM_INFO* PSYSTEMINFO; + +struct SYSTEM_POWER_STATUS +{ + ubyte ACLineStatus; + ubyte BatteryFlag; + ubyte BatteryLifePercent; + ubyte Reserved1; + DWORD BatteryLifeTime; + DWORD BatteryFullLifeTime; +} + +alias SYSTEM_POWER_STATUS _SYSTEM_POWER_STATUS; +alias SYSTEM_POWER_STATUS TSYSTEMPOWERSTATUS; +alias SYSTEM_POWER_STATUS* PSYSTEMPOWERSTATUS; +alias EMPTYRECORD* LPSYSTEM_POWER_STATUS; + +struct TAPE_ERASE +{ + ULONG _Type; +} + +alias TAPE_ERASE _TAPE_ERASE; +alias TAPE_ERASE TTAPEERASE; +alias TAPE_ERASE* PTAPEERASE; + +struct TAPE_GET_DRIVE_PARAMETERS +{ + ubyte ECC; + ubyte Compression; + ubyte DataPadding; + ubyte ReportSetmarks; + ULONG DefaultBlockSize; + ULONG MaximumBlockSize; + ULONG MinimumBlockSize; + ULONG MaximumPartitionCount; + ULONG FeaturesLow; + ULONG FeaturesHigh; + ULONG EOTWarningZoneSize; +} + +alias TAPE_GET_DRIVE_PARAMETERS _TAPE_GET_DRIVE_PARAMETERS; +alias TAPE_GET_DRIVE_PARAMETERS TTAPEGETDRIVEPARAMETERS; +alias TAPE_GET_DRIVE_PARAMETERS* PTAPEGETDRIVEPARAMETERS; + +struct TAPE_GET_MEDIA_PARAMETERS +{ + LARGE_INTEGER Capacity; + LARGE_INTEGER Remaining; + DWORD BlockSize; + DWORD PartitionCount; + ubyte WriteProtected; +} + +alias TAPE_GET_MEDIA_PARAMETERS _TAPE_GET_MEDIA_PARAMETERS; +alias TAPE_GET_MEDIA_PARAMETERS TTAPEGETMEDIAPARAMETERS; +alias TAPE_GET_MEDIA_PARAMETERS* PTAPEGETMEDIAPARAMETERS; + +struct TAPE_GET_POSITION +{ + ULONG _Type; + ULONG Partition; + ULONG OffsetLow; + ULONG OffsetHigh; +} + +alias TAPE_GET_POSITION _TAPE_GET_POSITION; +alias TAPE_GET_POSITION TTAPEGETPOSITION; +alias TAPE_GET_POSITION* PTAPEGETPOSITION; + +struct TAPE_PREPARE +{ + ULONG Operation; +} + +alias TAPE_PREPARE _TAPE_PREPARE; +alias TAPE_PREPARE TTAPEPREPARE; +alias TAPE_PREPARE* PTAPEPREPARE; + +struct TAPE_SET_DRIVE_PARAMETERS +{ + ubyte ECC; + ubyte Compression; + ubyte DataPadding; + ubyte ReportSetmarks; + ULONG EOTWarningZoneSize; +} + +alias TAPE_SET_DRIVE_PARAMETERS _TAPE_SET_DRIVE_PARAMETERS; +alias TAPE_SET_DRIVE_PARAMETERS TTAPESETDRIVEPARAMETERS; +alias TAPE_SET_DRIVE_PARAMETERS* PTAPESETDRIVEPARAMETERS; + +struct TAPE_SET_MEDIA_PARAMETERS +{ + ULONG BlockSize; +} + +alias TAPE_SET_MEDIA_PARAMETERS _TAPE_SET_MEDIA_PARAMETERS; +alias TAPE_SET_MEDIA_PARAMETERS TTAPESETMEDIAPARAMETERS; +alias TAPE_SET_MEDIA_PARAMETERS* PTAPESETMEDIAPARAMETERS; + +struct TAPE_SET_POSITION +{ + ULONG Method; + ULONG Partition; + ULONG OffsetLow; + ULONG OffsetHigh; +} + +alias TAPE_SET_POSITION _TAPE_SET_POSITION; +alias TAPE_SET_POSITION TTAPESETPOSITION; +alias TAPE_SET_POSITION* PTAPESETPOSITION; + +struct TAPE_WRITE_MARKS +{ + ULONG _Type; + ULONG Count; +} + +alias TAPE_WRITE_MARKS _TAPE_WRITE_MARKS; +alias TAPE_WRITE_MARKS TTAPEWRITEMARKS; +alias TAPE_WRITE_MARKS* PTAPEWRITEMARKS; + +struct TBADDBITMAP +{ + HINST hInst; + UINT nID; +} + +alias TBADDBITMAP* LPTBADDBITMAP; +alias TBADDBITMAP TTBADDBITMAP; +alias TBADDBITMAP* PTBADDBITMAP; + +struct TBBUTTON { + align(2): + int iBitmap; + int idCommand; + BYTE fsState; + BYTE fsStyle; +//#ifdef _WIN64 +// BYTE bReserved[6] // padding for alignment +//#elif defined(_WIN32) +// BYTE bReserved[2] // padding for alignment +//#endif + DWORD_PTR dwData; + INT_PTR iString; +} + +alias TBBUTTON* LPTBBUTTON; +alias TBBUTTON* LPCTBBUTTON; +alias TBBUTTON _TBBUTTON; +alias TBBUTTON TTBBUTTON; +alias TBBUTTON* PTBBUTTON; + +struct TBNOTIFY +{ + NMHDR hdr; + int iItem; + TBBUTTON tbButton; + int cchText; + LPTSTR pszText; +} + +alias TBNOTIFY* LPTBNOTIFY; +alias TBNOTIFY TTBNOTIFY; +alias TBNOTIFY* PTBNOTIFY; + +struct TBSAVEPARAMS +{ + HKEY hkr; + LPCTSTR pszSubKey; + LPCTSTR pszValueName; +} + +alias TBSAVEPARAMS TTBSAVEPARAMS; +alias TBSAVEPARAMS* PTBSAVEPARAMS; + +struct TC_HITTESTINFO +{ + POINT pt; + UINT flags; +} + +alias TC_HITTESTINFO TCHITTESTINFO; +alias TC_HITTESTINFO _TC_HITTESTINFO; +alias TC_HITTESTINFO TTCHITTESTINFO; +alias TC_HITTESTINFO* PTCHITTESTINFO; + +struct TC_ITEM +{ + UINT mask; + UINT lpReserved1; + UINT lpReserved2; + LPTSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; +} + +alias TC_ITEM _TC_ITEM; +alias TC_ITEM TTCITEM; +alias TC_ITEM* PTCITEM; + +struct TC_ITEMHEADER +{ + UINT mask; + UINT lpReserved1; + UINT lpReserved2; + LPTSTR pszText; + int cchTextMax; + int iImage; +} + +alias TC_ITEMHEADER _TC_ITEMHEADER; +alias TC_ITEMHEADER TTCITEMHEADER; +alias TC_ITEMHEADER* PTCITEMHEADER; + +struct TC_KEYDOWN +{ + NMHDR hdr; + ushort wVKey; + UINT flags; +} + +alias TC_KEYDOWN _TC_KEYDOWN; +alias TC_KEYDOWN TTCKEYDOWN; +alias TC_KEYDOWN* PTCKEYDOWN; + +struct TEXTRANGE +{ + CHARRANGE chrg; + LPSTR lpstrText; +} + +alias TEXTRANGE _TEXTRANGE; +alias TEXTRANGE TTEXTRANGE; +alias TEXTRANGE* PTEXTRANGE; + +struct TIME_ZONE_INFORMATION +{ + LONG Bias; + WCHAR[1 + 31] StandardName; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR[1 + 31] DaylightName; + SYSTEMTIME DaylightDate; + LONG DaylightBias; +} + +alias TIME_ZONE_INFORMATION* LPTIME_ZONE_INFORMATION; +alias TIME_ZONE_INFORMATION _TIME_ZONE_INFORMATION; +alias TIME_ZONE_INFORMATION TTIMEZONEINFORMATION; +alias TIME_ZONE_INFORMATION* PTIMEZONEINFORMATION; + +struct TOGGLEKEYS +{ + DWORD cbSize; + DWORD dwFlags; +} + +alias TOGGLEKEYS TAGTOGGLEKEYS; +alias TOGGLEKEYS TTOGGLEKEYS; +alias TOGGLEKEYS* PTOGGLEKEYS; + +struct TOKEN_SOURCE +{ + char[1 + 7] SourceName; + LUID SourceIdentifier; +} + +alias TOKEN_SOURCE _TOKEN_SOURCE; +alias TOKEN_SOURCE TTOKENSOURCE; +alias TOKEN_SOURCE* PTOKENSOURCE; + +struct TOKEN_CONTROL +{ + LUID TokenId; + LUID AuthenticationId; + LUID ModifiedId; + TOKEN_SOURCE TokenSource; +} + +alias TOKEN_CONTROL _TOKEN_CONTROL; +alias TOKEN_CONTROL TTOKENCONTROL; +alias TOKEN_CONTROL* PTOKENCONTROL; + +struct TOKEN_DEFAULT_DACL +{ + PACL DefaultDacl; +} + +alias TOKEN_DEFAULT_DACL _TOKEN_DEFAULT_DACL; +alias TOKEN_DEFAULT_DACL TTOKENDEFAULTDACL; +alias TOKEN_DEFAULT_DACL* PTOKENDEFAULTDACL; + +struct TOKEN_GROUPS +{ + DWORD GroupCount; + SID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Groups; +} + +alias TOKEN_GROUPS* PTOKEN_GROUPS; +alias TOKEN_GROUPS* LPTOKEN_GROUPS; +alias TOKEN_GROUPS _TOKEN_GROUPS; +alias TOKEN_GROUPS TTOKENGROUPS; +alias TOKEN_GROUPS* PTOKENGROUPS; + +struct TOKEN_OWNER +{ + PSID Owner; +} + +alias TOKEN_OWNER _TOKEN_OWNER; +alias TOKEN_OWNER TTOKENOWNER; +alias TOKEN_OWNER* PTOKENOWNER; + +struct TOKEN_PRIMARY_GROUP +{ + PSID PrimaryGroup; +} + +alias TOKEN_PRIMARY_GROUP _TOKEN_PRIMARY_GROUP; +alias TOKEN_PRIMARY_GROUP TTOKENPRIMARYGROUP; +alias TOKEN_PRIMARY_GROUP* PTOKENPRIMARYGROUP; + +struct TOKEN_PRIVILEGES +{ + DWORD PrivilegeCount; + LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Privileges; +} + +alias TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES; +alias TOKEN_PRIVILEGES* LPTOKEN_PRIVILEGES; +alias TOKEN_PRIVILEGES _TOKEN_PRIVILEGES; +alias TOKEN_PRIVILEGES TTOKENPRIVILEGES; +alias TOKEN_PRIVILEGES* PTOKENPRIVILEGES; + +struct TOKEN_STATISTICS +{ + LUID TokenId; + LUID AuthenticationId; + LARGE_INTEGER ExpirationTime; + TOKEN_TYPE TokenType; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + DWORD DynamicCharged; + DWORD DynamicAvailable; + DWORD GroupCount; + DWORD PrivilegeCount; + LUID ModifiedId; +} + +alias TOKEN_STATISTICS _TOKEN_STATISTICS; +alias TOKEN_STATISTICS TTOKENSTATISTICS; +alias TOKEN_STATISTICS* PTOKENSTATISTICS; + +struct TOKEN_USER +{ + SID_AND_ATTRIBUTES User; +} + +alias TOKEN_USER _TOKEN_USER; +alias TOKEN_USER TTOKENUSER; +alias TOKEN_USER* PTOKENUSER; + +struct TOOLINFOA +{ + UINT cbSize; + UINT uFlags; + HWND hwnd; + UINT uId; + RECT rect; + HINST hinst; + LPSTR lpszText; +} +struct TOOLINFOW +{ + UINT cbSize; + UINT uFlags; + HWND hwnd; + UINT uId; + RECT rect; + HINST hinst; + LPWSTR lpszText; +} +version(Win32SansUnicode) +{ + alias TOOLINFOA TOOLINFO; +} +else +{ + alias TOOLINFOW TOOLINFO; +} +alias TOOLINFO* LPTOOLINFO; +alias TOOLINFO TTOOLINFO; +alias TOOLINFO* PTOOLINFO; + +struct TOOLTIPTEXTA +{ + NMHDR hdr; + LPSTR lpszText; + CHAR[80] szText; + HINST hinst; + UINT uFlags; +} +struct TOOLTIPTEXTW +{ + NMHDR hdr; + LPWSTR lpszText; + WCHAR[80] szText; + HINST hinst; + UINT uFlags; +} +version(Win32SansUnicode) +{ + alias TOOLTIPTEXTA TOOLTIPTEXT; +} +else +{ + alias TOOLTIPTEXTW TOOLTIPTEXT; +} +alias TOOLTIPTEXT* LPTOOLTIPTEXT; +alias TOOLTIPTEXT TTOOLTIPTEXT; +alias TOOLTIPTEXT* PTOOLTIPTEXT; + +struct TPMPARAMS +{ + UINT cbSize; + RECT rcExclude; +} + +alias TPMPARAMS* LPTPMPARAMS; +alias TPMPARAMS TAGTPMPARAMS; +alias TPMPARAMS TTPMPARAMS; +alias TPMPARAMS* PTPMPARAMS; + +struct TRANSMIT_FILE_BUFFERS +{ + PVOID Head; + DWORD HeadLength; + PVOID Tail; + DWORD TailLength; +} + +alias TRANSMIT_FILE_BUFFERS _TRANSMIT_FILE_BUFFERS; +alias TRANSMIT_FILE_BUFFERS TTRANSMITFILEBUFFERS; +alias TRANSMIT_FILE_BUFFERS* PTRANSMITFILEBUFFERS; + +struct TTHITTESTINFO +{ + HWND hwnd; + POINT pt; + TOOLINFO ti; +} + +alias TTHITTESTINFO* LPHITTESTINFO; +alias TTHITTESTINFO _TT_HITTESTINFO; +alias TTHITTESTINFO TTTHITTESTINFO; +alias TTHITTESTINFO* PTTHITTESTINFO; + +struct TTPOLYCURVE +{ + ushort wType; + ushort cpfx; + POINTFX[1 + 0] apfx; +} + +alias TTPOLYCURVE* LPTTPOLYCURVE; +alias TTPOLYCURVE TAGTTPOLYCURVE; +alias TTPOLYCURVE TTTPOLYCURVE; +alias TTPOLYCURVE* PTTPOLYCURVE; + +struct TTPOLYGONHEADER +{ + DWORD cb; + DWORD dwType; + POINTFX pfxStart; +} + +alias TTPOLYGONHEADER* LPTTPOLYGONHEADER; +alias TTPOLYGONHEADER _TTPOLYGONHEADER; +alias TTPOLYGONHEADER TTTPOLYGONHEADER; +alias TTPOLYGONHEADER* PTTPOLYGONHEADER; + +struct TV_DISPINFO +{ + NMHDR hdr; + TV_ITEM item; +} + +alias TV_DISPINFO _TV_DISPINFO; +alias TV_DISPINFO TTVDISPINFO; +alias TV_DISPINFO* PTVDISPINFO; + +struct TV_HITTESTINFO +{ + POINT pt; + UINT flags; + HTREEITEM hItem; +} + +alias TV_HITTESTINFO* LPTV_HITTESTINFO; +alias TV_HITTESTINFO _TVHITTESTINFO; +alias TV_HITTESTINFO TTVHITTESTINFO; +alias TV_HITTESTINFO* PTVHITTESTINFO; + +struct TVINSERTSTRUCTA +{ + HTREEITEM hParent; + HTREEITEM hInsertAfter; + TVITEMA item; +} +struct TVINSERTSTRUCTW +{ + HTREEITEM hParent; + HTREEITEM hInsertAfter; + TVITEMW item; +} +version(Win32SansUnicode) +{ + alias TVINSERTSTRUCTA TVINSERTSTRUCT; +} +else +{ + alias TVINSERTSTRUCTW TVINSERTSTRUCT; +} + +alias TVINSERTSTRUCT TV_INSERTSTRUCT; +alias TVINSERTSTRUCT* LPTV_INSERTSTRUCT; +alias TVINSERTSTRUCT _TV_INSERTSTRUCT; +alias TVINSERTSTRUCT TTVINSERTSTRUCT; +alias TVINSERTSTRUCT* PTVINSERTSTRUCT; + +struct TV_KEYDOWN +{ + NMHDR hdr; + ushort wVKey; + UINT flags; +} + +alias TV_KEYDOWN _TV_KEYDOWN; +alias TV_KEYDOWN TTVKEYDOWN; +alias TV_KEYDOWN* PTVKEYDOWN; + +struct TV_SORTCB +{ + HTREEITEM hParent; + PFNTVCOMPARE lpfnCompare; + LPARAM lParam; +} + +alias TV_SORTCB* LPTV_SORTCB; +alias TV_SORTCB _TV_SORTCB; +alias TV_SORTCB TTVSORTCB; +alias TV_SORTCB* PTVSORTCB; + +struct UDACCEL +{ + UINT nSec; + UINT nInc; +} + +alias UDACCEL TUDACCEL; +alias UDACCEL* PUDACCEL; + +union ULARGE_INTEGER +{ + struct + { + DWORD LowPart; + DWORD HighPart; + }; + struct u + { + DWORD LowPart; + DWORD HighPart; + }; + DWORDLONG QuadPart; +} +alias ULARGE_INTEGER* PULARGE_INTEGER; +alias ULARGE_INTEGER _ULARGE_INTEGER; +alias ULARGE_INTEGER TULARGEINTEGER; +alias ULARGE_INTEGER* PULARGEINTEGER; + +struct UNIVERSAL_NAME_INFO +{ + LPTSTR lpUniversalName; +} + +alias UNIVERSAL_NAME_INFO _UNIVERSAL_NAME_INFO; +alias UNIVERSAL_NAME_INFO TUNIVERSALNAMEINFO; +alias UNIVERSAL_NAME_INFO* PUNIVERSALNAMEINFO; + +struct USEROBJECTFLAGS +{ + WINBOOL fInherit; + WINBOOL fReserved; + DWORD dwFlags; +} + +alias USEROBJECTFLAGS TAGUSEROBJECTFLAGS; +alias USEROBJECTFLAGS TUSEROBJECTFLAGS; +alias USEROBJECTFLAGS* PUSEROBJECTFLAGS; + +struct VALENT +{ + LPTSTR ve_valuename; + DWORD ve_valuelen; + DWORD ve_valueptr; + DWORD ve_type; +} + +alias VALENT TVALENT; +alias VALENT* PVALENT; +alias VALENT VALUE_ENT; +alias VALENT TVALUE_ENT; +alias VALENT* PVALUE_ENT; + +struct VERIFY_INFORMATION +{ + LARGE_INTEGER StartingOffset; + DWORD Length; +} + +alias VERIFY_INFORMATION _VERIFY_INFORMATION; +alias VERIFY_INFORMATION TVERIFYINFORMATION; +alias VERIFY_INFORMATION* PVERIFYINFORMATION; + +struct VS_FIXEDFILEINFO +{ + DWORD dwSignature; + DWORD dwStrucVersion; + DWORD dwFileVersionMS; + DWORD dwFileVersionLS; + DWORD dwProductVersionMS; + DWORD dwProductVersionLS; + DWORD dwFileFlagsMask; + DWORD dwFileFlags; + DWORD dwFileOS; + DWORD dwFileType; + DWORD dwFileSubtype; + DWORD dwFileDateMS; + DWORD dwFileDateLS; +} + +alias VS_FIXEDFILEINFO _VS_FIXEDFILEINFO; +alias VS_FIXEDFILEINFO TVSFIXEDFILEINFO; +alias VS_FIXEDFILEINFO* PVSFIXEDFILEINFO; + +struct WIN32_FIND_DATA +{ + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; + DWORD dwReserved0; + DWORD dwReserved1; + TCHAR[1 + MAX_PATH-1] cFileName; + TCHAR[1 + 13] cAlternateFileName; +} + +alias WIN32_FIND_DATA* LPWIN32_FIND_DATA; +alias WIN32_FIND_DATA* PWIN32_FIND_DATA; +alias WIN32_FIND_DATA _WIN32_FIND_DATA; +alias WIN32_FIND_DATA TWIN32FINDDATA; +alias WIN32_FIND_DATA TWIN32FINDDATAA; +alias WIN32_FIND_DATA* PWIN32FINDDATA; + +struct WIN32_FIND_DATAW { + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; + DWORD dwReserved0; + DWORD dwReserved1; + WCHAR cFileName[MAX_PATH]; + WCHAR cAlternateFileName[14]; +} + +alias WIN32_FIND_DATAW* LPWIN32_FIND_DATAW; +alias WIN32_FIND_DATAW* PWIN32_FIND_DATAW; + +struct WIN32_FILE_ATTRIBUTE_DATA { + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; +} + +enum { + GetFileInfoLevelStandard, + GetFileInfoLevelMax +} + +struct WIN32_STREAM_ID +{ + DWORD dwStreamId; + DWORD dwStreamAttributes; + LARGE_INTEGER Size; + DWORD dwStreamNameSize; + WCHAR* cStreamName; +} + +alias WIN32_STREAM_ID _WIN32_STREAM_ID; +alias WIN32_STREAM_ID TWIN32STREAMID; +alias WIN32_STREAM_ID* PWIN32STREAMID; + +struct WINDOWPLACEMENT +{ + UINT length; + UINT flags; + UINT showCmd; + POINT ptMinPosition; + POINT ptMaxPosition; + RECT rcNormalPosition; +} + +alias WINDOWPLACEMENT _WINDOWPLACEMENT; +alias WINDOWPLACEMENT TWINDOWPLACEMENT; +alias WINDOWPLACEMENT* PWINDOWPLACEMENT; + +struct WNDCLASSA +{ + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCTSTR lpszMenuName; + LPCTSTR lpszClassName; +} + +alias WNDCLASSA* PWNDCLASSA, LPWNDCLASSA; + +struct WNDCLASSW +{ + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HINSTANCE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCWSTR lpszMenuName; + LPCWSTR lpszClassName; +} + +alias WNDCLASSW* PWNDCLASSW, LPWNDCLASSW; + +version(Win32SansUnicode) +{ + alias WNDCLASSA WNDCLASS; +} +else +{ + alias WNDCLASSW WNDCLASS; +} +alias WNDCLASS* LPWNDCLASS; +alias WNDCLASS _WNDCLASS; +alias WNDCLASS TWNDCLASS; +alias WNDCLASS WNDCLASS_T; +alias WNDCLASS* PWNDCLASS; + +struct WNDCLASSEX +{ + UINT cbSize; + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCTSTR lpszMenuName; + LPCTSTR lpszClassName; + HANDLE hIconSm; +} + +alias WNDCLASSEX* LPWNDCLASSEX; +alias WNDCLASSEX _WNDCLASSEX; +alias WNDCLASSEX TWNDCLASSEX; +alias WNDCLASSEX TWNDCLASSEXA; +alias WNDCLASSEX* PWNDCLASSEX; + +struct CONNECTDLGSTRUCT +{ + DWORD cbStructure; + HWND hwndOwner; + LPNETRESOURCE lpConnRes; + DWORD dwFlags; + DWORD dwDevNum; +} + +alias CONNECTDLGSTRUCT* LPCONNECTDLGSTRUCT; +alias CONNECTDLGSTRUCT _CONNECTDLGSTRUCT; +alias CONNECTDLGSTRUCT TCONNECTDLGSTRUCT; +alias CONNECTDLGSTRUCT* PCONNECTDLGSTRUCT; + +struct DISCDLGSTRUCT +{ + DWORD cbStructure; + HWND hwndOwner; + LPTSTR lpLocalName; + LPTSTR lpRemoteName; + DWORD dwFlags; +} + +alias DISCDLGSTRUCT* LPDISCDLGSTRUCT; +alias DISCDLGSTRUCT _DISCDLGSTRUCT; +alias DISCDLGSTRUCT TDISCDLGSTRUCT; +alias DISCDLGSTRUCT TDISCDLGSTRUCTA; +alias DISCDLGSTRUCT* PDISCDLGSTRUCT; + +struct NETINFOSTRUCT +{ + DWORD cbStructure; + DWORD dwProviderVersion; + DWORD dwStatus; + DWORD dwCharacteristics; + DWORD dwHandle; + ushort wNetType; + DWORD dwPrinters; + DWORD dwDrives; +} + +alias NETINFOSTRUCT* LPNETINFOSTRUCT; +alias NETINFOSTRUCT _NETINFOSTRUCT; +alias NETINFOSTRUCT TNETINFOSTRUCT; +alias NETINFOSTRUCT* PNETINFOSTRUCT; + +struct NETCONNECTINFOSTRUCT +{ + DWORD cbStructure; + DWORD dwFlags; + DWORD dwSpeed; + DWORD dwDelay; + DWORD dwOptDataSize; +} + +alias NETCONNECTINFOSTRUCT* LPNETCONNECTINFOSTRUCT; +alias NETCONNECTINFOSTRUCT _NETCONNECTINFOSTRUCT; +alias NETCONNECTINFOSTRUCT TNETCONNECTINFOSTRUCT; +alias NETCONNECTINFOSTRUCT* PNETCONNECTINFOSTRUCT; +extern(Windows){ +alias int (*ENUMMETAFILEPROC)(HDC, HANDLETABLE, METARECORD, int, LPARAM); +alias int (*ENHMETAFILEPROC)(HDC, HANDLETABLE, ENHMETARECORD, int, LPARAM); +alias int (*ENUMFONTSPROC)(LPLOGFONT, LPTEXTMETRIC, DWORD, LPARAM); +alias int (*FONTENUMPROC)(ENUMLOGFONT*, NEWTEXTMETRIC*, int, LPARAM); +alias int (*FONTENUMEXPROC)(ENUMLOGFONTEX*, NEWTEXTMETRICEX*, int, LPARAM); +alias void (*LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD, DWORD); +} + +struct POINTFLOAT +{ + FLOAT x; + FLOAT y; +} + +alias POINTFLOAT _POINTFLOAT; +alias POINTFLOAT TPOINTFLOAT; +alias POINTFLOAT* PPOINTFLOAT; + +struct GLYPHMETRICSFLOAT +{ + FLOAT gmfBlackBoxX; + FLOAT gmfBlackBoxY; + POINTFLOAT gmfptGlyphOrigin; + FLOAT gmfCellIncX; + FLOAT gmfCellIncY; +} + +alias GLYPHMETRICSFLOAT* LPGLYPHMETRICSFLOAT; +alias GLYPHMETRICSFLOAT _GLYPHMETRICSFLOAT; +alias GLYPHMETRICSFLOAT TGLYPHMETRICSFLOAT; +alias GLYPHMETRICSFLOAT* PGLYPHMETRICSFLOAT; + +struct LAYERPLANEDESCRIPTOR +{ + ushort nSize; + ushort nVersion; + DWORD dwFlags; + ubyte iPixelType; + ubyte cColorBits; + ubyte cRedBits; + ubyte cRedShift; + ubyte cGreenBits; + ubyte cGreenShift; + ubyte cBlueBits; + ubyte cBlueShift; + ubyte cAlphaBits; + ubyte cAlphaShift; + ubyte cAccumBits; + ubyte cAccumRedBits; + ubyte cAccumGreenBits; + ubyte cAccumBlueBits; + ubyte cAccumAlphaBits; + ubyte cDepthBits; + ubyte cStencilBits; + ubyte cAuxBuffers; + ubyte iLayerPlane; + ubyte bReserved; + COLORREF crTransparent; +} + +alias LAYERPLANEDESCRIPTOR* LPLAYERPLANEDESCRIPTOR; +alias LAYERPLANEDESCRIPTOR TAGLAYERPLANEDESCRIPTOR; +alias LAYERPLANEDESCRIPTOR TLAYERPLANEDESCRIPTOR; +alias LAYERPLANEDESCRIPTOR* PLAYERPLANEDESCRIPTOR; + +struct PIXELFORMATDESCRIPTOR +{ + ushort nSize; + ushort nVersion; + DWORD dwFlags; + ubyte iPixelType; + ubyte cColorBits; + ubyte cRedBits; + ubyte cRedShift; + ubyte cGreenBits; + ubyte cGreenShift; + ubyte cBlueBits; + ubyte cBlueShift; + ubyte cAlphaBits; + ubyte cAlphaShift; + ubyte cAccumBits; + ubyte cAccumRedBits; + ubyte cAccumGreenBits; + ubyte cAccumBlueBits; + ubyte cAccumAlphaBits; + ubyte cDepthBits; + ubyte cStencilBits; + ubyte cAuxBuffers; + ubyte iLayerType; + ubyte bReserved; + DWORD dwLayerMask; + DWORD dwVisibleMask; + DWORD dwDamageMask; +} + +alias PIXELFORMATDESCRIPTOR* LPPIXELFORMATDESCRIPTOR; +alias PIXELFORMATDESCRIPTOR TAGPIXELFORMATDESCRIPTOR; +alias PIXELFORMATDESCRIPTOR TPIXELFORMATDESCRIPTOR; +alias PIXELFORMATDESCRIPTOR* PPIXELFORMATDESCRIPTOR; + +struct USER_INFO_2 +{ + LPWSTR usri2_name; + LPWSTR usri2_password; + DWORD usri2_password_age; + DWORD usri2_priv; + LPWSTR usri2_home_dir; + LPWSTR usri2_comment; + DWORD usri2_flags; + LPWSTR usri2_script_path; + DWORD usri2_auth_flags; + LPWSTR usri2_full_name; + LPWSTR usri2_usr_comment; + LPWSTR usri2_parms; + LPWSTR usri2_workstations; + DWORD usri2_last_logon; + DWORD usri2_last_logoff; + DWORD usri2_acct_expires; + DWORD usri2_max_storage; + DWORD usri2_units_per_week; + PBYTE usri2_logon_hours; + DWORD usri2_bad_pw_count; + DWORD usri2_num_logons; + LPWSTR usri2_logon_server; + DWORD usri2_country_code; + DWORD usri2_code_page; +} + +alias USER_INFO_2* PUSER_INFO_2; +alias USER_INFO_2* LPUSER_INFO_2; +alias USER_INFO_2 TUSERINFO2; +alias USER_INFO_2* PUSERINFO2; + +struct USER_INFO_0 +{ + LPWSTR usri0_name; +} + +alias USER_INFO_0* PUSER_INFO_0; +alias USER_INFO_0* LPUSER_INFO_0; +alias USER_INFO_0 TUSERINFO0; +alias USER_INFO_0* PUSERINFO0; + +struct USER_INFO_3 +{ + LPWSTR usri3_name; + LPWSTR usri3_password; + DWORD usri3_password_age; + DWORD usri3_priv; + LPWSTR usri3_home_dir; + LPWSTR usri3_comment; + DWORD usri3_flags; + LPWSTR usri3_script_path; + DWORD usri3_auth_flags; + LPWSTR usri3_full_name; + LPWSTR usri3_usr_comment; + LPWSTR usri3_parms; + LPWSTR usri3_workstations; + DWORD usri3_last_logon; + DWORD usri3_last_logoff; + DWORD usri3_acct_expires; + DWORD usri3_max_storage; + DWORD usri3_units_per_week; + PBYTE usri3_logon_hours; + DWORD usri3_bad_pw_count; + DWORD usri3_num_logons; + LPWSTR usri3_logon_server; + DWORD usri3_country_code; + DWORD usri3_code_page; + DWORD usri3_user_id; + DWORD usri3_primary_group_id; + LPWSTR usri3_profile; + LPWSTR usri3_home_dir_drive; + DWORD usri3_password_expired; +} + +alias USER_INFO_3* PUSER_INFO_3; +alias USER_INFO_3* LPUSER_INFO_3; +alias USER_INFO_3 TUSERINFO3; +alias USER_INFO_3* PUSERINFO3; + +struct GROUP_INFO_2 +{ + LPWSTR grpi2_name; + LPWSTR grpi2_comment; + DWORD grpi2_group_id; + DWORD grpi2_attributes; +} + +alias GROUP_INFO_2* PGROUP_INFO_2; +alias GROUP_INFO_2 TGROUPINFO2; +alias GROUP_INFO_2* PGROUPINFO2; + +struct LOCALGROUP_INFO_0 +{ + LPWSTR lgrpi0_name; +} + +alias LOCALGROUP_INFO_0* PLOCALGROUP_INFO_0; +alias LOCALGROUP_INFO_0* LPLOCALGROUP_INFO_0; +alias LOCALGROUP_INFO_0 TLOCALGROUPINFO0; +alias LOCALGROUP_INFO_0* PLOCALGROUPINFO0; + +struct IMAGE_DOS_HEADER +{ + ushort e_magic; + ushort e_cblp; + ushort e_cp; + ushort e_crlc; + ushort e_cparhdr; + ushort e_minalloc; + ushort e_maxalloc; + ushort e_ss; + ushort e_sp; + ushort e_csum; + ushort e_ip; + ushort e_cs; + ushort e_lfarlc; + ushort e_ovno; + ushort[1 + 3] e_res; + ushort e_oemid; + ushort e_oeminfo; + ushort[1 + 9] e_res2; + LONG e_lfanew; +} + +alias IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER; +alias IMAGE_DOS_HEADER TIMAGEDOSHEADER; +alias IMAGE_DOS_HEADER* PIMAGEDOSHEADER; +alias ushort TVARTYPE; +alias TVARIANT* PVARIANT; + +struct TVARIANT +{ + TVARTYPE vt; + ushort wReserved1; + ushort wReserved2; + ushort wReserved3; + + union + { + struct + { + ubyte bVal; + } + struct + { + byte iVal; + } + struct + { + int lVal; + } + struct + { + float fltVal; + } + struct + { + double dblVal; + } + struct + { + ushort vbool; + } + struct + { + HRESULT scode; + } + struct + { + ubyte* pbVal; + } + struct + { + byte* piVal; + } + struct + { + int* plVal; + } + struct + { + float* pfltVal; + } + struct + { + double* pdblVal; + } + struct + { + ushort* pbool; + } + struct + { + HRESULT* pscode; + } + struct + { + POINTER byRef; + } + } +} + +alias TVARIANT VARIANT; +alias int MMRESULT; +alias TWAVEFORMATEX* PWAVEFORMATEX; + +align(1) struct TWAVEFORMATEX +{ + ushort wFormatTag; + ushort nChannels; + DWORD nSamplesPerSec; + DWORD nAvgBytesPerSec; + ushort nBlockAlign; + ushort wBitsPerSample; + ushort cbSize; +} + +alias CRITICAL_SECTION TRTLCRITICALSECTION; +alias PCRITICAL_SECTION PRTLCRITICALSECTION; +alias PGUID PIID; +alias TGUID TIID; +alias HANDLE THANDLE; +alias TSMALLRECT* PSMALLRECT; +alias SMALL_RECT TSMALLRECT; +alias TCHARINFO* PCHARINFO; +alias _CHAR_INFO TCHARINFO; +alias POINTER TFARPROC; +alias POINTER TFNDLGPROC; +alias POINTER TFNTHREADSTARTROUTINE; + +struct _OBJECT_TYPE_LIST +{ + ushort Level; + ushort Sbz; + PGUID ObjectType; +} + +alias _OBJECT_TYPE_LIST TOBJECTTYPELIST; +alias TOBJECTTYPELIST* POBJECTTYPELIST; +alias _OBJECT_TYPE_LIST OBJECT_TYPE_LIST; +alias DWORD AUDIT_EVENT_TYPE; + +align(1) struct _BLENDFUNCTION +{ + ubyte BlendOp; + ubyte BlendFlags; + ubyte SourceConstantAlpha; + ubyte AlphaFormat; +} + +alias _BLENDFUNCTION TBLENDFUNCTION; +alias TBLENDFUNCTION* PBLENDFUNCTION; +alias _BLENDFUNCTION BLENDFUNCTION; + +alias HANDLE HMONITOR; + +struct tagMONITORINFOEX +{ + DWORD cbSize; + RECT rcMonitor; + RECT rcWork; + DWORD dwFlags; + TCHAR szDevice[CCHDEVICENAME]; +} +alias tagMONITORINFOEX MONITORINFOEX; +alias MONITORINFOEX* LPMONITORINFOEX; + +struct tagMONITORINFO +{ + DWORD cbSize; + RECT rcMonitor; + RECT rcWork; + DWORD dwFlags; +} +alias tagMONITORINFO MONITORINFO; +alias MONITORINFO* LPMONITORINFO; + +struct WINDOWINFO +{ + DWORD cbSize; + RECT rcWindow; + RECT rcClient; + DWORD dwStyle; + DWORD dwExStyle; + DWORD dwWindowStatus; + UINT cxWindowBorders; + UINT cyWindowBorders; + ATOM atomWindowType; + short wCreatorVersion; +}; +alias WINDOWINFO* PWINDOWINFO; +alias WINDOWINFO* LPWINDOWINFO; + +enum : HRESULT +{ + S_OK = 0x00000000, + S_FALSE = 0x00000001, + E_UNEXPECTED = 0x8000FFFF, + E_NOTIMPL = 0x80004001, + E_OUTOFMEMORY = 0x8007000E, + E_INVALIDARG = 0x80070057, + E_NOINTERFACE = 0x80004002, + E_POINTER = 0x80004003, + E_HANDLE = 0x80070006, + E_ABORT = 0x80004004, + E_FAIL = 0x80004005, + E_ACCESSDENIED = 0x80070005, + E_PENDING = 0x8000000A, +} + +/* +int CO_E_INIT_TLS = (DWORD)((0x80004006)); +int CO_E_INIT_MEMORY_ALLOCATOR = (DWORD)((0x80004008)); +int CO_E_INIT_CLASS_CACHE = (DWORD)((0x80004009)); +int CO_E_INIT_RPC_CHANNEL = (DWORD)((0x8000400A)); +int CO_E_INIT_TLS_SET_CHANNEL_CONTROL = (DWORD)((0x8000400B)); +int CO_E_INIT_TLS_CHANNEL_CONTROL = (DWORD)((0x8000400C)); +int CO_E_INIT_UNACCEPTED_USER_ALLOCATOR = (DWORD)((0x8000400D)); +int CO_E_INIT_SCM_MUTEX_EXISTS = (DWORD)((0x8000400E)); +int CO_E_INIT_SCM_FILE_MAPPING_EXISTS = (DWORD)((0x8000400F)); +int CO_E_INIT_SCM_MAP_VIEW_OF_FILE = (DWORD)((0x80004010)); +int CO_E_INIT_SCM_EXEC_FAILURE = (DWORD)((0x80004011)); +int CO_E_INIT_ONLY_SINGLE_THREADED = (DWORD)((0x80004012)); +int CO_E_CANT_REMOTE = (DWORD)((0x80004013)); +int CO_E_BAD_SERVER_NAME = (DWORD)((0x80004014)); +int CO_E_WRONG_SERVER_IDENTITY = (DWORD)((0x80004015)); +int CO_E_OLE1DDE_DISABLED = (DWORD)((0x80004016)); +int CO_E_RUNAS_SYNTAX = (DWORD)((0x80004017)); +int CO_E_CREATEPROCESS_FAILURE = (DWORD)((0x80004018)); +int CO_E_RUNAS_CREATEPROCESS_FAILURE = (DWORD)((0x80004019)); +int CO_E_RUNAS_LOGON_FAILURE = (DWORD)((0x8000401A)); +int CO_E_LAUNCH_PERMSSION_DENIED = (DWORD)((0x8000401B)); +int CO_E_START_SERVICE_FAILURE = (DWORD)((0x8000401C)); +int CO_E_REMOTE_COMMUNICATION_FAILURE = (DWORD)((0x8000401D)); +int CO_E_SERVER_START_TIMEOUT = (DWORD)((0x8000401E)); +int CO_E_CLSREG_INCONSISTENT = (DWORD)((0x8000401F)); +int CO_E_IIDREG_INCONSISTENT = (DWORD)((0x80004020)); +int CO_E_NOT_SUPPORTED = (DWORD)((0x80004021)); +int CO_E_FIRST = (DWORD)((0x800401F0)); +int CO_E_LAST = (DWORD)((0x800401FF)); +int CO_S_FIRST = (0x401F0); +int CO_E_NOTINITIALIZED = (DWORD)((0x800401F0)); +int CO_E_ALREADYINITIALIZED = (DWORD)((0x800401F1)); +int CO_E_CANTDETERMINECLASS = (DWORD)((0x800401F2)); +int CO_E_CLASSSTRING = (DWORD)((0x800401F3)); +int CO_E_IIDSTRING = (DWORD)((0x800401F4)); +int CO_E_APPNOTFOUND = (DWORD)((0x800401F5)); +int CO_E_APPSINGLEUSE = (DWORD)((0x800401F6)); +int CO_E_ERRORINAPP = (DWORD)((0x800401F7)); +int CO_E_DLLNOTFOUND = (DWORD)((0x800401F8)); +int CO_E_ERRORINDLL = (DWORD)((0x800401F9)); +int CO_E_WRONGOSFORAPP = (DWORD)((0x800401FA)); +int CO_E_OBJNOTREG = (DWORD)((0x800401FB)); +int CO_E_OBJISREG = (DWORD)((0x800401FC)); +int CO_E_OBJNOTCONNECTED = (DWORD)((0x800401FD)); +int CO_E_APPDIDNTREG = (DWORD)((0x800401FE)); +int CO_E_RELEASED = (DWORD)((0x800401FF)); +*/ + +/////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////// + + + + + + +// missing in tango +//alias TLOGFONTA* LPLOGFONTA; +//alias TLOGFONTA LOGFONTA; +//alias char CHAR; +alias OPENFILENAME OPENFILENAMEW; +alias OPENFILENAME OPENFILENAMEA; +//alias WNDCLASS_T WNDCLASS; + +//alias TCLSID *REFCLSID; + +//interface IUnknown{} +//alias IUnknown LPUNKNOWN; + + +struct SCRIPT_DIGITSUBSTITUTE { + ushort NationalDigitLanguage; + ushort TraditionalDigitLanguage; + DWORD DigitSubstitute; + DWORD dwReserved; +} + +struct BUTTON_IMAGELIST { + HIMAGELIST himl; + RECT margin; + UINT uAlign; +} + +alias HANDLE HTHEME; + +struct NMREBARCHILDSIZE { + NMHDR hdr; + UINT uBand; + UINT wID; + RECT rcChild; + RECT rcBand; +} +const int MAX_LINKID_TEXT = 48; +const int L_MAX_URL_LENGTH = 2084; +struct LITEM { + UINT mask; + int iLink; + UINT state; + UINT stateMask; + WCHAR szID[MAX_LINKID_TEXT]; + WCHAR szUrl[L_MAX_URL_LENGTH]; +} +struct NMLINK { + NMHDR hdr; + LITEM item; +} +struct NMLVODSTATECHANGE { + NMHDR hdr; + int iFrom; + int iTo; + UINT uNewState; + UINT uOldState; +} +struct NMTBHOTITEM { + NMHDR hdr; + int idOld; + int idNew; + DWORD dwFlags; +} +struct NMTVDISPINFO { + NMHDR hdr; + TVITEM item; +} +struct NMTVITEMCHANGE { + NMHDR hdr; + UINT uChanged; + HTREEITEM hItem; + UINT uStateNew; + UINT uStateOld; + LPARAM lParam; +} + +struct ACTCTXA { + ULONG cbSize; + DWORD dwFlags; + LPCSTR lpSource; + USHORT wProcessorArchitecture; + LANGID wLangId; + LPCTSTR lpAssemblyDirectory; + LPCTSTR lpResourceName; + LPCTSTR lpApplicationName; + HMODULE hModule; +} +struct ACTCTXW { + ULONG cbSize; + DWORD dwFlags; + LPCWSTR lpSource; + USHORT wProcessorArchitecture; + LANGID wLangId; + LPCTSTR lpAssemblyDirectory; + LPCTSTR lpResourceName; + LPCTSTR lpApplicationName; + HMODULE hModule; +} +version(Win32SansUnicode) alias ACTCTXA ACTCTX; +else alias ACTCTXW ACTCTX; +alias HANDLE HACTCTX; + +struct OSVERSIONINFOEX +{ + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + TCHAR szCSDVersion[128]; + WORD wServicePackMajor; + WORD wServicePackMinor; + WORD wSuiteMask; + BYTE wProductType; + BYTE wReserved; +} + + + +// .... +//-------------------------------------------------------------------------------- + +// const int LF_FACESIZE = 32; +// const int LF_FULLFACESIZE = 64; + +alias HANDLE HIMC; +// alias HANDLE HTREEITEM; +//alias HANDLE HDWP; +//alias HANDLE HIMAGELIST; +//alias HANDLE HMONITOR; +//alias HANDLE HHOOK; +//alias HANDLE HDROP; +//alias HANDLE *LPHANDLE; + +alias HRESULT WINOLEAPI; +// alias LPRECT LPCRECT; +// alias LPRECT LPCRECTL; +alias DWORD LGRPID; +//alias LONG LONG_PTR; +//alias ULONG ULONG_PTR; +alias DWORD DWORD_PTR; +//alias int INT_PTR; +//alias uint UINT_PTR; +// alias DWORD LCID; +// alias DWORD LCTYPE; +alias USHORT COLOR16; + +//alias POINT POINTL; + +//alias long LONGLONG; +//alias ulong DWORDLONG; + +//alias LONGLONG *PLONGLONG; +//alias DWORDLONG *PDWORDLONG; +alias size_t SIZE_T; +//alias int WPARAM_I; + +extern(Windows){ + +/** + * Since Eclipse/SWT uses int as (msg, wparam, lparam) and some times check the value against (-1), + * but WNDPROC_I declared in windows header the (msg, wparam) is UINT which will never be -1 but 0xFFFF or + * something else. This made some DWT API failed. to fix the problem, it better to declare (msg, wparam) + * as int like Eclispe/SWT does. and we alias int to WPARAM_I. + */ +// alias LRESULT function(HWND, uint, uint, int) WNDPROC_I; +// alias LRESULT function(int code, int wParam, LPARAM lParam) HOOKPROC_I; +// +// // Windows CALLBACK declaration here +// alias WNDPROC_I BFFCALLBACK; // browse for fold +// alias WNDPROC_I LPCCHOOKPROC_I; // choose color +// alias WNDPROC_I LPCFHOOKPROC_I; // choose font +// alias WNDPROC_I LPPRINTHOOKPROC_I; // print hook +// alias WNDPROC_I LPSETUPHOOKPROC_I; // print setup +// alias WNDPROC_I TIMERPROC_I; // timer + +alias LRESULT function ( + int code, // hook code + int wParam, // undefined + int lParam // address of structure with message data +) MESSAGEPROC; + + +//alias BOOL function ( +// HMONITOR hMonitor, // handle to display monitor +// HDC hdcMonitor, // handle to monitor-appropriate device context +// LPRECT lprcMonitor, // pointer to monitor intersection rectangle +// LPARAM dwData // data passed from EnumDisplayMonitors +//) MONITORENUMPROC; + +//alias int function( +// ENUMLOGFONT *lpelf, // logical-font data +// NEWTEXTMETRIC *lpntm, // physical-font data +// DWORD FontType, // type of font +// LPARAM lParam // application-defined data +//)FONTENUMPROC; + +//alias int function( +// ENUMLOGFONTEX *lpelfe, // logical-font data +// NEWTEXTMETRICEX *lpntme, // physical-font data +// DWORD FontType, // type of font +// LPARAM lParam // application-defined data +//)FONTENUMEXPROC; + +alias BOOL function ( + LGRPID LanguageGroup, // language-group identifier + TCHAR* lpLanguageGroupString, // language-group identifier string + TCHAR* lpLanguageGroupNameString, // language-group name string + DWORD dwFlags, // options + LONG_PTR lParam // callback parameter +)LANGUAGEGROUP_ENUMPROC; + +//alias BOOL function ( +// TCHAR* lpLocaleString // locale identifier string +//)LOCALE_ENUMPROC; + + +// end of Windows CALLBACK declaration + + + +//struct ABC { +// int abcA; +// UINT abcB; +// int abcC; +//} +//alias ABC* PABC, LPABC; + +// declared in tango +//struct ACCEL { +// align(1): +// BYTE fVirt; +// WORD key; +// WORD cmd; +//} +//alias ACCEL* PACCEL, LPACCEL; + +// declared in phobos +//struct BITMAP { +// int bmType; +// int bmWidth; +// int bmHeight; +// int bmWidthBytes; +// short bmPlanes; +// short bmBitsPixel; +// void* bmBits; +//} + +//struct RGBQUAD { // rgbq +// byte rgbBlue; +// byte rgbGreen; +// byte rgbRed; +// byte rgbReserved; +//} + +// declared in phobos +//struct BITMAPINFO { // bmi +// BITMAPINFOHEADER bmiHeader; +// RGBQUAD bmiColors[1]; +//} + +//struct BITMAPINFOHEADER { +// int biSize; +// int biWidth; +// int biHeight; +// short biPlanes; +// short biBitCount; +// int biCompression; +// int biSizeImage; +// int biXPelsPerMeter; +// int biYPelsPerMeter; +// int biClrUsed; +// int biClrImportant; +//} + + + +//struct CHARSETINFO { +// UINT ciCharset; +// UINT ciACP; +// FONTSIGNATURE fs; +//}alias CHARSETINFO* PCHARSETINFO, LPCHARSETINFO; + + + + +struct CHOOSEFONTA { + // sizeof = 60 ??? +// align(2): + DWORD lStructSize; + HWND hwndOwner; + HDC hDC; + LPLOGFONTA lpLogFont; + INT iPointSize; + DWORD Flags; + DWORD rgbColors; + LPARAM lCustData; + LPCFHOOKPROC lpfnHook; + LPCSTR lpTemplateName; + HINSTANCE hInstance; + LPSTR lpszStyle; + WORD nFontType; + WORD ___MISSING_ALIGNMENT__; + INT nSizeMin; + INT nSizeMax; +}alias CHOOSEFONTA* PCHOOSEFONTA, LPCHOOSEFONTA; + +struct CHOOSEFONTW { + // sizeof = 60 ??? +// align(2): + DWORD lStructSize; + HWND hwndOwner; + HDC hDC; + LOGFONTW* lpLogFont; + INT iPointSize; + DWORD Flags; + DWORD rgbColors; + LPARAM lCustData; + LPCFHOOKPROC lpfnHook; + LPCWSTR lpTemplateName; + HINSTANCE hInstance; + LPWSTR lpszStyle; + WORD nFontType; + WORD ___MISSING_ALIGNMENT__; + INT nSizeMin; + INT nSizeMax; +}alias CHOOSEFONTW* PCHOOSEFONTW, LPCHOOSEFONTW; +version(Win32SansUnicode){ + alias CHOOSEFONTA CHOOSEFONT; +}else{ + alias CHOOSEFONTW CHOOSEFONT; +} + +struct COMBOBOXINFO { + DWORD cbSize; + RECT rcItem; + RECT rcButton; + DWORD stateButton; + HWND hwndCombo; + HWND hwndItem; + HWND hwndList; +} alias COMBOBOXINFO* PCOMBOBOXINFO, LPCOMBOBOXINFO; + +//struct COMPOSITIONFORM { +// DWORD dwStyle; +// POINT ptCurrentPos; +// RECT rcArea; +//} +//alias COMPOSITIONFORM* LPCOMPOSITIONFORM; + +// const uint CCHDEVICENAME = 32; +// const uint CCHFORMNAME = 32; + +struct DEVMODEA { // dvmd + BYTE dmDeviceName[CCHDEVICENAME]; + WORD dmSpecVersion; + WORD dmDriverVersion; + WORD dmSize; + WORD dmDriverExtra; + DWORD dmFields; +// union { +// struct { +// short dmOrientation; +// short dmPaperSize; +// short dmPaperLength; +// short dmPaperWidth; +// }; +// POINTL dmPosition; +// }; + POINT dmPosition; + short dmScale; + short dmCopies; + short dmDefaultSource; + short dmPrintQuality; + short dmColor; + short dmDuplex; + short dmYResolution; + short dmTTOption; + short dmCollate; + BYTE dmFormName[CCHFORMNAME]; + WORD dmLogPixels; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + DWORD dmDisplayFlags; + DWORD dmDisplayFrequency; +//#if(WINVER >= 0x0400) + DWORD dmICMMethod; + DWORD dmICMIntent; + DWORD dmMediaType; + DWORD dmDitherType; + DWORD dmReserved1; + DWORD dmReserved2; +//#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) + DWORD dmPanningWidth; + DWORD dmPanningHeight; +//#endif +//#endif /* WINVER >= 0x0400 */ +} + +struct DEVMODEW { // dvmd + WCHAR dmDeviceName[CCHDEVICENAME]; + WORD dmSpecVersion; + WORD dmDriverVersion; + WORD dmSize; + WORD dmDriverExtra; + DWORD dmFields; +// union { +// struct { +// short dmOrientation; +// short dmPaperSize; +// short dmPaperLength; +// short dmPaperWidth; +// }; + POINTL dmPosition; +// }; + short dmScale; + short dmCopies; + short dmDefaultSource; + short dmPrintQuality; + short dmColor; + short dmDuplex; + short dmYResolution; + short dmTTOption; + short dmCollate; + WCHAR dmFormName[CCHFORMNAME]; + WORD dmLogPixels; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + DWORD dmDisplayFlags; + DWORD dmDisplayFrequency; +//#if(WINVER >= 0x0400) + DWORD dmICMMethod; + DWORD dmICMIntent; + DWORD dmMediaType; + DWORD dmDitherType; + DWORD dmReserved1; + DWORD dmReserved2; +//#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) + DWORD dmPanningWidth; + DWORD dmPanningHeight; +//#endif +//#endif /* WINVER >= 0x0400 */ +} + +//PORTING_TODO: defined in tango +//version(Win32SansUnicode){ +// alias DEVMODEA DEVMODE; +//}else{ +// alias DEVMODEW DEVMODE; +//} + +//struct DIBSECTION { +// // BITMAP +// int bmType; +// int bmWidth; +// int bmHeight; +// int bmWidthBytes; +// short bmPlanes; +// short bmBitsPixel; +// void* bmBits; +// // end BITMAP +// int biSize; +// int biWidth; +// int biHeight; +// short biPlanes; +// short biBitCount; +// int biCompression; +// int biSizeImage; +// int biXPelsPerMeter; +// int biYPelsPerMeter; +// int biClrUsed; +// int biClrImportant; +// int dsBitfields0; +// int dsBitfields1; +// int dsBitfields2; +// int dshSection; +// int dsOffset; +//} + +struct DLLVERSIONINFO { + DWORD cbSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformID; +} + + + +struct DROPFILES { + DWORD pFiles; // Offset of the file list from the beginning of this structure, in bytes. + POINT pt; // Drop point. The coordinates depend on fNC. + BOOL fNC; // Nonclient area flag. If this member is TRUE, pt specifies the screen + // coordinates of a point in a window's nonclient area. If it is FALSE, + // pt specifies the client coordinates of a point in the client area. + BOOL fWide; // Value that indicates whether the file contains ANSI or Unicode + // characters. If it is zero, it contains ANSI characters. Otherwise, it + // contains Unicode characters. + +} + + +// struct ENUMLOGFONTA { +// LOGFONTA elfLogFont; +// CHAR elfFullName[LF_FULLFACESIZE]; +// CHAR elfStyle[LF_FACESIZE]; +// } +// struct ENUMLOGFONTW { +// LOGFONTW elfLogFont; +// WCHAR elfFullName[LF_FULLFACESIZE]; +// WCHAR elfStyle[LF_FACESIZE]; +// } +// struct ENUMLOGFONTEXA { +// LOGFONTA elfLogFont; +// BYTE elfFullName[LF_FULLFACESIZE]; +// BYTE elfStyle[LF_FACESIZE]; +// BYTE elfScript[LF_FACESIZE]; +// } +// struct ENUMLOGFONTEXW { +// LOGFONTW elfLogFont; +// WCHAR elfFullName[LF_FULLFACESIZE]; +// WCHAR elfStyle[LF_FACESIZE]; +// WCHAR elfScript[LF_FACESIZE]; +// } +// version(Win32SansUnicode){ +// alias ENUMLOGFONTA ENUMLOGFONT; +// alias ENUMLOGFONTEXA ENUMLOGFONTEX; +// }else { +// alias ENUMLOGFONTW ENUMLOGFONT; +// alias ENUMLOGFONTEXW ENUMLOGFONTEX; +// } + +// in phobos aready +//struct FILETIME { +// DWORD dwLowDateTime; +// DWORD dwHighDateTime; +//} + + + +struct GOFFSET { + LONG du; + LONG dv; +} + +struct GRADIENT_RECT { + ULONG UpperLeft; + ULONG LowerRight; +} + +struct GUITHREADINFO { + DWORD cbSize; + DWORD flags; + HWND hwndActive; + HWND hwndFocus; + HWND hwndCapture; + HWND hwndMenuOwner; + HWND hwndMoveSize; + HWND hwndCaret; + RECT rcCaret; +}alias GUITHREADINFO* PGUITHREADINFO, LPGUITHREADINFO; + +struct HDITEMA { + UINT mask; + int cxy; + LPSTR pszText; + HBITMAP hbm; + int cchTextMax; + int fmt; + LPARAM lParam; + int iImage; + int iOrder; +} +struct HDITEMW { + UINT mask; + int cxy; + LPWSTR pszText; + HBITMAP hbm; + int cchTextMax; + int fmt; + LPARAM lParam; + int iImage; + int iOrder; +} +version(Win32SansUnicode){ + alias HDITEMA HDITEM; +}else{ + alias HDITEMW HDITEM; +} +alias HDITEM* LPHDITEM; + + +//struct ICONINFO { +// BOOL fIcon; +// DWORD xHotspot; +// DWORD yHotspot; +// HBITMAP hbmMask; +// HBITMAP hbmColor; +//} +//alias ICONINFO* PICONINFO, LPICONINFO; + +struct INITCOMMONCONTROLSEX { + DWORD dwSize; + DWORD dwICC; +}alias INITCOMMONCONTROLSEX* PINITCOMMONCONTROLSEX, LPINITCOMMONCONTROLSEX; + +struct INPUT { + // Note: <Shawn> sizeof = 28 + int type; + union { + MOUSEINPUT mi; + KEYBDINPUT ki; +// HARDWAREINPUT hi; + } +}alias INPUT* PINPUT, LPINPUT; + +//struct ITEMIDLIST { +// SHITEMID mkid; +//} +//alias ITEMIDLIST* PITEMIDLIST, LPITEMIDLIST, LPCITEMIDLIST; + +struct KEYBDINPUT { + WORD wVk; + WORD wScan; + DWORD dwFlags; + DWORD time; + ULONG_PTR dwExtraInfo; +} + + +// struct LOGBRUSH { +// UINT lbStyle; +// COLORREF lbColor; +// LONG lbHatch; +// } + + +struct LVCOLUMNA { + UINT mask; + int fmt; + int cx; + LPSTR pszText; + int cchTextMax; + int iSubItem; + int iImage; + int iOrder; +} +struct LVCOLUMNW { + UINT mask; + int fmt; + int cx; + LPWSTR pszText; + int cchTextMax; + int iSubItem; + int iImage; + int iOrder; +} +version(Win32SansUnicode){ + alias LVCOLUMNA LVCOLUMN; +}else{ + alias LVCOLUMNW LVCOLUMN; +} +alias LVCOLUMN* LPLVCOLUMN; + +struct LVFINDINFOA { + UINT flags; + LPCSTR psz; + LPARAM lParam; + POINT pt; + UINT vkDirection; +} +alias LVFINDINFOA* LPFINDINFOA; +struct LVFINDINFOW { + UINT flags; + LPCWSTR psz; + LPARAM lParam; + POINT pt; + UINT vkDirection; +} +alias LVFINDINFOW* LPFINDINFOW; + +version(Win32SansUnicode){ + alias LVFINDINFOA LVFINDINFO; +}else{ + alias LVFINDINFOW LVFINDINFO; +} + +struct LVHITTESTINFO +{ + POINT pt; + UINT flags; + int iItem; + int iSubItem; +} + + +struct LVITEMA { + UINT mask; + int iItem; + int iSubItem; + UINT state; + UINT stateMask; + LPSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; + int iIndent; +} +struct LVITEMW { + UINT mask; + int iItem; + int iSubItem; + UINT state; + UINT stateMask; + LPWSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; + int iIndent; +} +version(Win32SansUnicode){ + alias LVITEMA LVITEM; +}else{ + alias LVITEMW LVITEM; +} +alias LVITEM* LPLVITEM; + +struct MARGINS { + int cxLeftWidth; + int cxRightWidth; + int cyTopHeight; + int cyBottomHeight; +} + +struct MENUBARINFO { + DWORD cbSize; + RECT rcBar; + HMENU hMenu; + HWND hwndMenu; + BOOL fBarFocused; + BOOL fFocused; +}alias MENUBARINFO* PMENUBARINFO, LPMENUBARINFO; + +struct MENUINFO { + DWORD cbSize; + DWORD fMask; + DWORD dwStyle; + UINT cyMax; + HBRUSH hbrBack; + DWORD dwContextHelpID; + ULONG_PTR dwMenuData; +} +alias MENUINFO* PCMENUINFO, LPCMENUINFO, LPCCMENUINFO; + +/* +* Feature in Windows. The hbmpItem field requires Windows 4.10 +* or greater. On Windows NT 4.0, passing in a larger struct size +* in the cbSize field does nothing. On Windows 95, the MENUITEMINFO +* calls fail when the struct size is too large. The fix is to ensure +* that the correct struct size is used for the Windows platform. +*/ +// struct MENUITEMINFOA +// { +// UINT cbSize; +// UINT fMask; +// UINT fType; // used if MIIM_TYPE +// UINT fState; // used if MIIM_STATE +// UINT wID; // used if MIIM_ID +// HMENU hSubMenu; // used if MIIM_SUBMENU +// HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS +// HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS +// DWORD dwItemData; // used if MIIM_DATA +// LPSTR dwTypeData; // used if MIIM_TYPE +// UINT cch; // used if MIIM_TYPE +// HBITMAP hbmpItem; +// } +// alias MENUITEMINFOA* PMENUITEMINFOA, LPMENUITEMINFOA; +// struct MENUITEMINFOW +// { +// UINT cbSize; +// UINT fMask; +// UINT fType; // used if MIIM_TYPE +// UINT fState; // used if MIIM_STATE +// UINT wID; // used if MIIM_ID +// HMENU hSubMenu; // used if MIIM_SUBMENU +// HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS +// HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS +// DWORD dwItemData; // used if MIIM_DATA +// LPWSTR dwTypeData; // used if MIIM_TYPE +// UINT cch; // used if MIIM_TYPE +// HBITMAP hbmpItem; +// } alias MENUITEMINFOW* PMENUITEMINFOW, LPMENUITEMINFOW; +//version(Win32SansUnicode){ +// alias MENUITEMINFOA MENUITEMINFO; +//}else{ +// alias MENUITEMINFOW MENUITEMINFO; +//} +//alias MENUITEMINFO * LPMENUITEMINFO; + + +//struct MONITORINFO { +// DWORD cbSize; +// RECT rcMonitor; +// RECT rcWork; +// DWORD dwFlags; +//} +//alias MONITORINFO* PMONITORINFO, LPMONITORINFO; + +struct MOUSEINPUT { + LONG dx; + LONG dy; + DWORD mouseData; + DWORD dwFlags; + DWORD dwExtraInfo; +} + +//struct MSG { +// int hwnd; +// int message; +// int wParam; +// int lParam; +// int time; +//// POINT pt; +// int x, y; +//} +/+ +struct NEWTEXTMETRICA { // ntm + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + BYTE tmFirstChar; + BYTE tmLastChar; + BYTE tmDefaultChar; + BYTE tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; + DWORD ntmFlags; + UINT ntmSizeEM; + UINT ntmCellHeight; + UINT ntmAvgWidth; +} +struct NEWTEXTMETRICW { // ntm + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + WCHAR tmFirstChar; + WCHAR tmLastChar; + WCHAR tmDefaultChar; + WCHAR tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; + DWORD ntmFlags; + UINT ntmSizeEM; + UINT ntmCellHeight; + UINT ntmAvgWidth; +} +struct NEWTEXTMETRICEXA { + NEWTEXTMETRICA ntmentm; + FONTSIGNATURE ntmeFontSignature; +} +struct NEWTEXTMETRICEXW { + NEWTEXTMETRICW ntmentm; + FONTSIGNATURE ntmeFontSignature; +} +version(Win32SansUnicode){ + alias NEWTEXTMETRICA NEWTEXTMETRIC; + alias NEWTEXTMETRICEXA NEWTEXTMETRICEX; +}else{ + alias NEWTEXTMETRICW NEWTEXTMETRIC; + alias NEWTEXTMETRICEXW NEWTEXTMETRICEX; +} ++/ + +struct NMCUSTOMDRAW { + NMHDR hdr; + DWORD dwDrawStage; + HDC hdc; + RECT rc; + DWORD dwItemSpec; + UINT uItemState; + LPARAM lItemlParam; +} + +struct NMHEADER { + NMHDR hdr; + int iItem; + int iButton; + HDITEM *pitem; +} + +struct NMLISTVIEW { + NMHDR hdr; + int iItem; + int iSubItem; + UINT uNewState; + UINT uOldState; + UINT uChanged; + POINT ptAction; + LPARAM lParam; +} + +struct NMLVCUSTOMDRAW { + NMCUSTOMDRAW nmcd; + COLORREF clrText; + COLORREF clrTextBk; +//#if (_WIN32_IE >= 0x0400) + int iSubItem; +//#endif +} + +struct NMLVDISPINFOA { + NMHDR hdr; + LVITEMA item; +} +struct NMLVDISPINFOW { + NMHDR hdr; + LVITEMW item; +} +version(Win32SansUnicode){ + alias NMLVDISPINFOA NMLVDISPINFO; +}else{ + alias NMLVDISPINFOW NMLVDISPINFO; +} + +struct NMLVFINDITEMA { + NMHDR hdr; + int iStart; + LVFINDINFOA lvfi; +} + +struct NMLVFINDITEMW { + NMHDR hdr; + int iStart; + LVFINDINFOW lvfi; +} +version(Win32SansUnicode){ + alias NMLVFINDITEMA NMLVFINDITEM; +}else{ + alias NMLVFINDITEMW NMLVFINDITEM; +} + +struct NMREBARCHEVRON { + NMHDR hdr; + UINT uBand; + UINT wID; + LPARAM lParam; + RECT rc; + LPARAM lParamNM; +} + +struct NMRGINFO { + // NMHDR + HWND hwndFrom; + int idFrom; + int code; + // -end- NMHDR +// POINT ptAction; + int x; + int y; + int dwItemSpec; +} +struct NMTOOLBARA { + align(2): + NMHDR hdr; + int iItem; + TBBUTTON tbButton; + int cchText; + LPSTR pszText; +} +struct NMTOOLBARW { + align(2): + NMHDR hdr; + int iItem; + TBBUTTON tbButton; + int cchText; + LPWSTR pszText; +} +version(Win32SansUnicode){ + alias NMTOOLBARA NMTOOLBAR; +}else{ + alias NMTOOLBARW NMTOOLBAR; +} +alias NMTOOLBAR* LPNMTOOLBAR; + + +struct NMTTDISPINFOA { + NMHDR hdr; + LPSTR lpszText; + char szText[80]; + HINSTANCE hinst; + UINT uFlags; + LPARAM lParam; +} + +struct NMTTDISPINFOW { + NMHDR hdr; + LPWSTR lpszText; + WCHAR szText[80]; + HINSTANCE hinst; + UINT uFlags; + LPARAM lParam; +} +version(Win32SansUnicode){ + alias NMTTDISPINFOA NMTTDISPINFO; +} else { + alias NMTTDISPINFOW NMTTDISPINFO; +} + +struct NMTVCUSTOMDRAW { + NMCUSTOMDRAW nmcd; + COLORREF clrText; + COLORREF clrTextBk; +//#if (_WIN32_IE >= 0x0400) + int iLevel; // the iLevel field does not appear on WinCE +//#endif +} + + +struct NOTIFYICONDATAA { + DWORD cbSize; + HWND hWnd; + UINT uID; + UINT uFlags; + UINT uCallbackMessage; + HICON hIcon; + char szTip[128] = '\0'; + DWORD dwState; + DWORD dwStateMask; + char szInfo[256] = '\0'; + union { + UINT uTimeout; + UINT uVersion; + }; + char szInfoTitle[64] = '\0'; + DWORD dwInfoFlags; + //GUID guidItem; + //HICON hBalloonIcon; +} alias NOTIFYICONDATAA* PNOTIFYICONDATAA, LPNOTIFYICONDATAA; + +struct NOTIFYICONDATAW { + DWORD cbSize; + HWND hWnd; + UINT uID; + UINT uFlags; + UINT uCallbackMessage; + HICON hIcon; + WCHAR szTip[128] = '\0'; + DWORD dwState; + DWORD dwStateMask; + WCHAR szInfo[256] = '\0'; + union { + UINT uTimeout; + UINT uVersion; + } + WCHAR szInfoTitle[64] = '\0'; + DWORD dwInfoFlags; + //GUID guidItem; + //HICON hBalloonIcon; +} + +alias NOTIFYICONDATAW* PNOTIFYICONDATAW, LPNOTIFYICONDATAW; +version(Win32SansUnicode){ + alias NOTIFYICONDATAA NOTIFYICONDATA; +}else{ + alias NOTIFYICONDATAW NOTIFYICONDATA; +} + +/* already in phobos now + +struct OPENFILENAMEA { + DWORD lStructSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCSTR lpstrFilter; + LPSTR lpstrCustomFilter; + DWORD nMaxCustFilter; + DWORD nFilterIndex; + LPSTR lpstrFile; + DWORD nMaxFile; + LPSTR lpstrFileTitle; + DWORD nMaxFileTitle; + LPCSTR lpstrInitialDir; + LPCSTR lpstrTitle; + DWORD Flags; + WORD nFileOffset; + WORD nFileExtension; + LPCSTR lpstrDefExt; + LPARAM lCustData; + LPOFNHOOKPROC lpfnHook; + LPCSTR lpTemplateName; +} + +struct OPENFILENAMEW { + DWORD lStructSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCWSTR lpstrFilter; + LPWSTR lpstrCustomFilter; + DWORD nMaxCustFilter; + DWORD nFilterIndex; + LPWSTR lpstrFile; + DWORD nMaxFile; + LPWSTR lpstrFileTitle; + DWORD nMaxFileTitle; + LPCWSTR lpstrInitialDir; + LPCWSTR lpstrTitle; + DWORD Flags; + WORD nFileOffset; + WORD nFileExtension; + LPCWSTR lpstrDefExt; + LPARAM lCustData; + LPOFNHOOKPROC lpfnHook; + LPCWSTR lpTemplateName; +} +*/ + +//PORTING_TODO: is needed? +//version(Win32SansUnicode){ +// alias OPENFILENAMEA OPENFILENAME; +//}else{ +// alias OPENFILENAMEW OPENFILENAME; +//} + + +//struct PAINTSTRUCT { +// int hdc; +// int fErase; +//// RECT rcPaint; +// public int left, top, right, bottom; +// int fRestore; +// int fIncUpdate; +// byte rgbReserved[32]; +//} +//alias windows.PAINTSTRUCT PAINTSTRUCT; + +//struct POINT { +// LONG x, y; +//} + + +struct PRINTDLGA { // pd + align(2): + DWORD lStructSize; + HWND hwndOwner; + HANDLE hDevMode; + HANDLE hDevNames; + HDC hDC; + DWORD Flags; + WORD nFromPage; + WORD nToPage; + WORD nMinPage; + WORD nMaxPage; + WORD nCopies; + HINSTANCE hInstance; + DWORD lCustData; + LPPRINTHOOKPROC lpfnPrintHook; + LPSETUPHOOKPROC lpfnSetupHook; + LPCSTR lpPrintTemplateName; + LPCSTR lpSetupTemplateName; + HANDLE hPrintTemplate; + HANDLE hSetupTemplate; +} +alias PRINTDLGA* PPRINTDLGA, LPPRINTDLGA; +struct PRINTDLGW { // pd + align(2): + DWORD lStructSize; + HWND hwndOwner; + HANDLE hDevMode; + HANDLE hDevNames; + HDC hDC; + DWORD Flags; + WORD nFromPage; + WORD nToPage; + WORD nMinPage; + WORD nMaxPage; + WORD nCopies; + HINSTANCE hInstance; + DWORD lCustData; + LPPRINTHOOKPROC lpfnPrintHook; + LPSETUPHOOKPROC lpfnSetupHook; + LPCWSTR lpPrintTemplateName; + LPCWSTR lpSetupTemplateName; + HANDLE hPrintTemplate; + HANDLE hSetupTemplate; +} +alias PRINTDLGW* PPRINTDLGW, LPPRINTDLGW; +version(Win32SansUnicode){ + alias PRINTDLGA PRINTDLG; +}else{ + alias PRINTDLGW PRINTDLG; +} + +struct REBARBANDINFOA { + UINT cbSize; + UINT fMask; + UINT fStyle; + COLORREF clrFore; + COLORREF clrBack; + LPSTR lpText; + UINT cch; + int iImage; + HWND hwndChild; + UINT cxMinChild; + UINT cyMinChild; + UINT cx; + HBITMAP hbmBack; + UINT wID; + UINT cyChild; + UINT cyMaxChild; + UINT cyIntegral; + UINT cxIdeal; + LPARAM lParam; + UINT cxHeader; + /* Note in WinCE. The field cxHeader is not defined. */ +} +struct REBARBANDINFOW { + UINT cbSize; + UINT fMask; + UINT fStyle; + COLORREF clrFore; + COLORREF clrBack; + LPWSTR lpText; + UINT cch; + int iImage; + HWND hwndChild; + UINT cxMinChild; + UINT cyMinChild; + UINT cx; + HBITMAP hbmBack; + UINT wID; + UINT cyChild; + UINT cyMaxChild; + UINT cyIntegral; + UINT cxIdeal; + LPARAM lParam; + UINT cxHeader; + /* Note in WinCE. The field cxHeader is not defined. */ +} +version(Win32SansUnicode){ + alias REBARBANDINFOA REBARBANDINFO; +}else{ + alias REBARBANDINFOW REBARBANDINFO; +} + +//struct RECT { +// int left; +// int top; +// int right; +// int bottom; +//} + +//struct RGNDATA { +// RGNDATAHEADER rdh; +// char Buffer[1]; +//} alias RGNDATA* PRGNDATA, LPRGNDATA; + + + +template BITWISE(T) +{ + // bit value set + void btvs(T* pData, uint bitnum, uint val){ + *pData &= ~(0x01 << bitnum); + if(val) *pData |= (0x01 << bitnum); + } + // bit value get + T btvg(T* pData, uint bitnum){ + return cast(T)((*pData >> bitnum) & 0x01); + } +} +alias BITWISE!(BYTE).btvs btvs; +alias BITWISE!(WORD).btvs btvs; +alias BITWISE!(DWORD).btvs btvs; +alias BITWISE!(BYTE).btvg btvg; +alias BITWISE!(WORD).btvg btvg; +alias BITWISE!(DWORD).btvg btvg; + + +struct SCRIPT_ANALYSIS { + WORD BITS; + SCRIPT_STATE s; + + // getter + uint eScript() { return BITS & 0x03FFU; } + uint fRTL() { return btvg(&BITS, 10); } + uint fLayoutRTL() { return btvg(&BITS, 11); } + uint fLinkBefore() { return btvg(&BITS, 12); } + uint fLinkAfter() { return btvg(&BITS, 13); } + uint fLogicalOrder(){ return btvg(&BITS, 14); } + uint fNoGlyphIndex(){ return btvg(&BITS, 15); } + // setter + void eScript(uint val) { BITS &= 0xFC00; BITS |= (val & 0x03FF); } + void fRTL(uint val) { btvs(&BITS, 10, val); } + void fLayoutRTL(uint val) { btvs(&BITS, 11, val); } + void fLinkBefore(uint val) { btvs(&BITS, 12, val); } + void fLinkAfter(uint val) { btvs(&BITS, 13, val); } + void fLogicalOrder(uint val){ btvs(&BITS, 14, val); } + void fNoGlyphIndex(uint val){ btvs(&BITS, 15, val); } +} + +alias void *SCRIPT_CACHE; + +struct SCRIPT_CONTROL { + align(1): + WORD uDefaultLanguage; + BYTE BITS; + BYTE fReserved; + + // getter + uint fContextDigits() { return btvg(&BITS, 0); } + uint fInvertPreBoundDir() { return btvg(&BITS, 1); } + uint fInvertPostBoundDir() { return btvg(&BITS, 2); } + uint fLinkStringBefore() { return btvg(&BITS, 3); } + uint fLinkStringAfter() { return btvg(&BITS, 4); } + uint fNeutralOverride() { return btvg(&BITS, 5); } + uint fNumericOverride() { return btvg(&BITS, 6); } + uint fLegacyBidiClass() { return btvg(&BITS, 7); } + + void fContextDigits(uint val) { btvs(&BITS, 0, val); } + void fInvertPreBoundDir(uint val) { btvs(&BITS, 1, val); } + void fInvertPostBoundDir(uint val) { btvs(&BITS, 2, val); } + void fLinkStringBefore(uint val) { btvs(&BITS, 3, val); } + void fLinkStringAfter(uint val) { btvs(&BITS, 4, val); } + void fNeutralOverride(uint val) { btvs(&BITS, 5, val); } + void fNumericOverride(uint val) { btvs(&BITS, 6, val); } + void fLegacyBidiClass(uint val) { btvs(&BITS, 7, val); } +} + +struct SCRIPT_FONTPROPERTIES { + int cBytes; + WORD wgBlank; + WORD wgDefault; + WORD wgInvalid; + WORD wgKashida; + int iKashidaWidth; +} + +struct SCRIPT_ITEM { + int iCharPos; + SCRIPT_ANALYSIS a; +} + +struct SCRIPT_LOGATTR { + align(1): + BYTE BITS; + + // gettter + uint fSoftBreak() { return btvg(&BITS, 0); } + uint fWhiteSpace() { return btvg(&BITS, 1); } + uint fCharStop() { return btvg(&BITS, 2); } + uint fWordStop() { return btvg(&BITS, 3); } + uint fInvalid() { return btvg(&BITS, 4); } + uint fReserved() { return cast(BYTE)(BITS>>5); } + + void fSoftBreak(uint val) { btvs(&BITS, 0, val); } + void fWhiteSpace(uint val) { btvs(&BITS, 1, val); } + void fCharStop(uint val) { btvs(&BITS, 2, val); } + void fWordStop(uint val) { btvs(&BITS, 3, val); } + void fInvalid(uint val) { btvs(&BITS, 4, val); } + void fReserved(uint val) { BITS &= 0x1F; BITS |= (val & 0x07)<<5; } +} + + +struct SCRIPT_PROPERTIES { + DWORD BITS1; + DWORD BITS2; + + uint langid() { return BITS1 >> 16; } + uint fNumeric() { return btvg(&BITS1, 16); } + uint fComplex() { return btvg(&BITS1, 17); } + uint fNeedsWordBreaking() { return btvg(&BITS1, 18); } + uint fNeedsCaretInfo() { return btvg(&BITS1, 19); } + uint bCharSet() { return (BITS1 >> 20) & 0xFF; } + uint fControl() { return btvg(&BITS1, 28); } + uint fPrivateUseArea() { return btvg(&BITS1, 29); } + uint fNeedsCharacterJustify(){ return btvg(&BITS1, 30); } + uint fInvalidGlyph() { return btvg(&BITS1, 31); } + uint fInvalidLogAttr() { return btvg(&BITS2, 0); } + uint fCDM() { return btvg(&BITS2, 1); } + uint fAmbiguousCharSet() { return btvg(&BITS2, 2); } + uint fClusterSizeVaries() { return btvg(&BITS2, 3); } + uint fRejectInvalid() { return btvg(&BITS2, 4); } + + void langid(uint val) { BITS1 &= 0xFFFF0000; BITS1 |= (val & 0xFFFF); } + void fNumeric(uint val) { btvs(&BITS1, 16, val); } + void fComplex(uint val) { btvs(&BITS1, 17, val); } + void fNeedsWordBreaking(uint val) { btvs(&BITS1, 18, val); } + void fNeedsCaretInfo(uint val) { btvs(&BITS1, 19, val); } + void bCharSet(uint val) { BITS1 &= 0xF00FFFFF; BITS1 |= (val & 0xFF)<<20; } + void fControl(uint val) { btvs(&BITS1, 28, val); } + void fPrivateUseArea(uint val) { btvs(&BITS1, 29, val); } + void fNeedsCharacterJustify(uint val){ btvs(&BITS1, 30, val); } + void fInvalidGlyph(uint val) { btvs(&BITS1, 31, val); } + void fInvalidLogAttr(uint val) { btvs(&BITS2, 0, val); } + void fCDM(uint val) { btvs(&BITS2, 1, val); } + void fAmbiguousCharSet(uint val) { btvs(&BITS2, 2, val); } + void fClusterSizeVaries(uint val) { btvs(&BITS2, 3, val); } + void fRejectInvalid(uint val) { btvs(&BITS2, 4, val); } +} + + +struct SCRIPT_STATE { + WORD BITS; + // getter + uint uBidiLevel() { return (BITS & 0x1F);} + uint fOverrideDirection() { return btvg(&BITS, 5); } + uint fInhibitSymSwap() { return btvg(&BITS, 6); } + uint fCharShape() { return btvg(&BITS, 7); } + uint fDigitSubstitute() { return btvg(&BITS, 8); } + uint fInhibitLigate() { return btvg(&BITS, 9); } + uint fDisplayZWG() { return btvg(&BITS, 10); } + uint fArabicNumContext() { return btvg(&BITS, 11); } + uint fGcpClusters() { return btvg(&BITS, 12); } + uint fReserved() { return btvg(&BITS, 13); } + uint fEngineReserved() { return (BITS >> 14) & 0x03;} + // setter + void uBidiLevel(uint val) { BITS &= 0xFFE0; BITS |= (val & 0x1F); } + void fOverrideDirection(uint val) { btvs(&BITS, 5, val); } + void fInhibitSymSwap(uint val) { btvs(&BITS, 6, val); } + void fCharShape(uint val) { btvs(&BITS, 7, val); } + void fDigitSubstitute(uint val) { btvs(&BITS, 8, val); } + void fInhibitLigate(uint val) { btvs(&BITS, 9, val); } + void fDisplayZWG(uint val) { btvs(&BITS, 10, val); } + void fArabicNumContext(uint val) { btvs(&BITS, 11, val); } + void fGcpClusters(uint val) { btvs(&BITS, 12, val); } + void fReserved(uint val) { btvs(&BITS, 13, val); } + void fEngineReserved(uint val) { BITS &= 0x3FFF; BITS |= ((val & 0x03) << 14); } +} + + +struct SCRIPT_VISATTR { + align(1): + BYTE BITS; + BYTE fShapeReserved; + + // getter + uint uJustification() { return BITS & 0x0F; } + uint fClusterStart() { return btvg(&BITS, 4); } + uint fDiacritic() { return btvg(&BITS, 5); } + uint fZeroWidth() { return btvg(&BITS, 6); } + uint fReserved() { return btvg(&BITS, 7); } + + // setter + void uJustification(uint val) { BITS &= 0xF0; BITS |= (val & 0x0F); } + void fClusterStart(uint val) { btvs(&BITS, 4, val); } + void fDiacritic(uint val) { btvs(&BITS, 5, val); } + void fZeroWidth(uint val) { btvs(&BITS, 6, val); } + void fReserved(uint val) { btvs(&BITS, 7, val); } +} + +//struct SCROLLINFO { +// UINT cbSize; +// UINT fMask; +// int nMin; +// int nMax; +// UINT nPage; +// int nPos; +// int nTrackPos; +//} +//alias SCROLLINFO* PSCROLLINFO, LPSCROLLINFO, LPCSCROLLINFO; + +version(WinCE) +{ +struct SHACTIVATEINFO { + int cbSize; + HWND hwndLastFocus; + int fSipUp; + int fSipOnDeactivation; + int fActive; + int fReserved; +} +} + +struct SHELLEXECUTEINFOA { + DWORD cbSize; + ULONG fMask; + HWND hwnd; + LPCSTR lpVerb; + LPCSTR lpFile; + LPCSTR lpParameters; + LPCSTR lpDirectory; + int nShow; + HINSTANCE hInstApp; + + // Optional members + LPVOID lpIDList; + LPCSTR lpClass; + HKEY hkeyClass; + DWORD dwHotKey; + HANDLE hIcon; + HANDLE hProcess; +} alias SHELLEXECUTEINFOA* PSHELLEXECUTEINFOA, LPSHELLEXECUTEINFOA; +struct SHELLEXECUTEINFOW { + DWORD cbSize; + ULONG fMask; + HWND hwnd; + LPCWSTR lpVerb; + LPCWSTR lpFile; + LPCWSTR lpParameters; + LPCWSTR lpDirectory; + int nShow; + HINSTANCE hInstApp; + + // Optional members + LPVOID lpIDList; + LPCWSTR lpClass; + HKEY hkeyClass; + DWORD dwHotKey; + HANDLE hIcon; + HANDLE hProcess; +} alias SHELLEXECUTEINFOW* PSHELLEXECUTEINFOW, LPSHELLEXECUTEINFOW; +version(Win32SansUnicode){ + alias SHELLEXECUTEINFOA SHELLEXECUTEINFO; +}else{ + alias SHELLEXECUTEINFOW SHELLEXECUTEINFO; +} +alias SHELLEXECUTEINFO* LPSHELLEXECUTEINFO; + + +//version(WinCE) +//{ + struct SHMENUBARINFO { + int cbSize; + HWND hwndParent; + int dwFlags; + int nToolBarId; + HINSTANCE hInstRes; + int nBmpId; + int cBmpImages; + HWND hwndMB; + } + + struct SHRGINFO { + DWORD cbSize; + HWND hwndClient; + POINT ptDown; + DWORD dwFlags; + } + + struct SIPINFO { + DWORD cbSize; + DWORD fdwFlags; + RECT rcVisibleDesktop; + RECT rcSipRect; + DWORD dwImDataSize; + VOID *pvImData; + } +//} // end of version WinCE + +//struct SIZE { +// LONG cx; +// LONG cy; +//} +//alias SIZE* LPSIZE, LPSIZEL; +//alias SIZE SIZEL; + + +struct TBBUTTONINFOA{ + align(2): + UINT cbSize; + DWORD dwMask; + int idCommand; + int iImage; + BYTE fsState; + BYTE fsStyle; + WORD cx; + DWORD_PTR lParam; + LPSTR pszText; + int cchText; +} +struct TBBUTTONINFOW{ + align(2): + UINT cbSize; + DWORD dwMask; + int idCommand; + int iImage; + BYTE fsState; + BYTE fsStyle; + WORD cx; + DWORD_PTR lParam; + LPWSTR pszText; + int cchText; +} +version(Win32SansUnicode){ + alias TBBUTTONINFOA TBBUTTONINFO; +}else{ + alias TBBUTTONINFOW TBBUTTONINFO; +} +alias TBBUTTONINFO* LPTBBUTTONINFO; + + +struct TCITEMA { + UINT mask; + DWORD dwState; + DWORD dwStateMask; + LPSTR pszText; + int cchTextMax; + int iImage; +} +struct TCITEMW { + UINT mask; + DWORD dwState; + DWORD dwStateMask; + LPWSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; +} +version(Win32SansUnicode){ + alias TCITEMA TCITEM; +}else{ + alias TCITEMW TCITEM; +} + + +// struct TOOLINFOA { +// UINT cbSize; +// UINT uFlags; +// HWND hwnd; +// UINT uId; +// RECT rect; +// HINSTANCE hinst; +// LPSTR lpszText; +// LPARAM lParam; +// } +// struct TOOLINFOW { +// UINT cbSize; +// UINT uFlags; +// HWND hwnd; +// UINT uId; +// RECT rect; +// HINSTANCE hinst; +// LPWSTR lpszText; +// LPARAM lParam; +// } +// version(Win32SansUnicode){ +// alias TOOLINFOA TOOLINFO; +// }else{ +// alias TOOLINFOW TOOLINFO; +// } + +struct TRACKMOUSEEVENT { + DWORD cbSize; + DWORD dwFlags; + HWND hwndTrack; + DWORD dwHoverTime; +} +alias TRACKMOUSEEVENT* PTRACKMOUSEEVENT, LPTRACKMOUSEEVENT; + +struct TRIVERTEX { + LONG x; + LONG y; + COLOR16 Red; + COLOR16 Green; + COLOR16 Blue; + COLOR16 Alpha; +} +alias TRIVERTEX* PTRIVERTEX, LPTRIVERTEX; + + +struct TVHITTESTINFO { + POINT pt; + UINT flags; + HTREEITEM hItem; +} + + + + + + +//alias extern(Windows) int (*PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM); +struct TVSORTCB { + HTREEITEM hParent; + PFNTVCOMPARE lpfnCompare; + LPARAM lParam; +} + + + + +//struct WINDOWPLACEMENT { +// UINT length; +// UINT flags; +// UINT showCmd; +// POINT ptMinPosition; +// POINT ptMaxPosition; +// RECT rcNormalPosition; +//} +// +// struct WINDOWPOS { +// HWND hwnd; +// HWND hwndInsertAfter; +// int x; +// int y; +// int cx; +// int cy; +// UINT flags; +// } + +// WNDCLASSA is declared in phobos +// struct WNDCLASSW { +// UINT style; +// WNDPROC_I lpfnWndProc; +// int cbClsExtra; +// int cbWndExtra; +// HINSTANCE hInstance; +// HICON hIcon; +// HCURSOR hCursor; +// HBRUSH hbrBackground; +// LPCWSTR lpszMenuName; +// LPCWSTR lpszClassName; +// }alias WNDCLASSW* PWNDCLASSW, LPWNDCLASSW; +// +// // since phobos has alias WNDCLASSA to WNDCLASS, we have to alias it another name +// version(Win32SansUnicode){ +// alias WNDCLASSA WNDCLASS_T; +// }else{ +// alias WNDCLASSW WNDCLASS_T; +// } + +enum TF_DA_COLORTYPE { + TF_CT_NONE = 0, + TF_CT_SYSCOLOR = 1, + TF_CT_COLORREF = 2 +} + +enum TF_DA_LINESTYLE { + TF_LS_NONE = 0, + TF_LS_SOLID = 1, + TF_LS_DOT = 2, + TF_LS_DASH = 3, + TF_LS_SQUIGGLE = 4 +} + +enum TF_DA_ATTR_INFO { + TF_ATTR_INPUT = 0, + TF_ATTR_TARGET_CONVERTED = 1, + TF_ATTR_CONVERTED = 2, + TF_ATTR_TARGET_NOTCONVERTED = 3, + TF_ATTR_INPUT_ERROR = 4, + TF_ATTR_FIXEDCONVERTED = 5, + TF_ATTR_OTHER = -1 +} + +struct TF_DA_COLOR { + TF_DA_COLORTYPE type; + union { + int nIndex; + COLORREF cr; + }; +} + +struct TF_DISPLAYATTRIBUTE{ + TF_DA_COLOR crText; + TF_DA_COLOR crBk; + TF_DA_LINESTYLE lsStyle; + BOOL fBoldLine; + TF_DA_COLOR crLine; + TF_DA_ATTR_INFO bAttr; +} + +struct NMTTCUSTOMDRAW { + NMCUSTOMDRAW nmcd; + UINT uDrawFlags; +} +alias NMTTCUSTOMDRAW* LPNMTTCUSTOMDRAW; + +struct SHDRAGIMAGE { + SIZE sizeDragImage; + POINT ptOffset; + HBITMAP hbmpDragImage; + COLORREF crColorKey; +} + +const CCHILDREN_SCROLLBAR = 5; +struct SCROLLBARINFO { + DWORD cbSize; + RECT rcScrollBar; + int dxyLineButton; + int xyThumbTop; + int xyThumbBottom; + int reserved; + DWORD rgstate[CCHILDREN_SCROLLBAR+1]; +} +alias SCROLLBARINFO* PSCROLLBARINFO; + +} // end of extern(Windows) + + + + + +// shlwapi.h +enum {ASSOCF_INIT_BYEXENAME, + ASSOCF_OPEN_BYEXENAME, + ASSOCF_INIT_DEFAULTTOSTAR, + ASSOCF_INIT_DEFAULTTOFOLDER, + ASSOCF_NOUSERSETTINGS, + ASSOCF_NOTRUNCATE, + ASSOCF_VERIFY, + ASSOCF_REMAPRUNDLL, + ASSOCF_NOFIXUPS, + ASSOCF_IGNOREBASECLASS +}; + +alias DWORD ASSOCF;