diff win32/wtypes.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/win32/wtypes.d	Tue Apr 05 20:44:01 2011 +0200
@@ -0,0 +1,231 @@
+/***********************************************************************\
+*                               wtypes.d                                *
+*                                                                       *
+*                       Windows API header module                       *
+*                                                                       *
+*                 Translated from MinGW Windows headers                 *
+*                                                                       *
+*                       Placed into public domain                       *
+\***********************************************************************/
+module win32.wtypes;
+
+import win32.rpc, win32.rpcndr;
+private import win32.windef;
+private import win32.uuid; // for GUID_NULL
+
+alias GUID_NULL IID_NULL, CLSID_NULL;
+
+const ROTFLAGS_REGISTRATIONKEEPSALIVE = 0x01;
+const ROTFLAGS_ALLOWANYCLIENT         = 0x02;
+
+// also in winsock2.h
+struct BLOB {
+	ULONG cbSize;
+	BYTE* pBlobData;
+}
+alias BLOB* PBLOB, LPBLOB;
+
+enum DVASPECT {
+	DVASPECT_CONTENT   = 1,
+	DVASPECT_THUMBNAIL = 2,
+	DVASPECT_ICON      = 4,
+	DVASPECT_DOCPRINT  = 8
+}
+
+enum DVASPECT2 {
+	DVASPECT_OPAQUE      = 16,
+	DVASPECT_TRANSPARENT = 32
+}
+
+enum STATFLAG {
+	STATFLAG_DEFAULT = 0,
+	STATFLAG_NONAME  = 1
+}
+
+enum MEMCTX {
+	MEMCTX_LOCAL = 0,
+	MEMCTX_TASK,
+	MEMCTX_SHARED,
+	MEMCTX_MACSYSTEM,
+	MEMCTX_UNKNOWN = -1,
+	MEMCTX_SAME = -2
+}
+
+enum MSHCTX {
+	MSHCTX_LOCAL = 0,
+	MSHCTX_NOSHAREDMEM,
+	MSHCTX_DIFFERENTMACHINE,
+	MSHCTX_INPROC,
+	MSHCTX_CROSSCTX
+}
+
+enum CLSCTX {
+	CLSCTX_INPROC_SERVER   = 1,
+	CLSCTX_INPROC_HANDLER  = 2,
+	CLSCTX_LOCAL_SERVER    = 4,
+	CLSCTX_INPROC_SERVER16 = 8,
+	CLSCTX_REMOTE_SERVER   = 16
+}
+
+enum MSHLFLAGS {
+	MSHLFLAGS_NORMAL,
+	MSHLFLAGS_TABLESTRONG,
+	MSHLFLAGS_TABLEWEAK
+}
+
+struct FLAGGED_WORD_BLOB {
+	uint fFlags;
+	uint clSize;
+	ushort asData[1];
+}
+
+alias WCHAR OLECHAR;
+alias LPWSTR LPOLESTR;
+alias LPCWSTR LPCOLESTR;
+
+alias ushort VARTYPE;
+alias short VARIANT_BOOL;
+alias VARIANT_BOOL _VARIANT_BOOL;
+const VARIANT_BOOL VARIANT_TRUE = -1; // 0xffff;
+const VARIANT_BOOL VARIANT_FALSE = 0;
+
+alias OLECHAR* BSTR;
+alias FLAGGED_WORD_BLOB* wireBSTR;
+alias BSTR* LPBSTR;
+//alias LONG SCODE; // also in winerror
+alias HANDLE HCONTEXT, HMETAFILEPICT;
+
+union CY {
+	struct {
+		uint Lo;
+		int Hi;
+	}
+	LONGLONG int64;
+}
+
+alias double DATE;
+struct  BSTRBLOB {
+	ULONG cbSize;
+	PBYTE pData;
+}
+alias BSTRBLOB* LPBSTRBLOB;
+
+// Used only in the PROPVARIANT structure
+// According to the 2003 SDK, this should be in propidl.h, not here.
+struct CLIPDATA {
+	ULONG cbSize;
+	int ulClipFmt;
+	PBYTE pClipData;
+}
+
+enum STGC {
+	STGC_DEFAULT,
+	STGC_OVERWRITE,
+	STGC_ONLYIFCURRENT,
+	STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
+}
+
+enum STGMOVE {
+	STGMOVE_MOVE,
+	STGMOVE_COPY,
+	STGMOVE_SHALLOWCOPY
+}
+
+enum VARENUM {
+	VT_EMPTY,
+	VT_NULL,
+	VT_I2,
+	VT_I4,
+	VT_R4,
+	VT_R8,
+	VT_CY,
+	VT_DATE,
+	VT_BSTR,
+	VT_DISPATCH,
+	VT_ERROR,
+	VT_BOOL,
+	VT_VARIANT,
+	VT_UNKNOWN,
+	VT_DECIMAL,
+	VT_I1 = 16,
+	VT_UI1,
+	VT_UI2,
+	VT_UI4,
+	VT_I8,
+	VT_UI8,
+	VT_INT,
+	VT_UINT,
+	VT_VOID,
+	VT_HRESULT,
+	VT_PTR,
+	VT_SAFEARRAY,
+	VT_CARRAY,
+	VT_USERDEFINED,
+	VT_LPSTR,
+	VT_LPWSTR,
+	VT_RECORD   = 36,
+	VT_INT_PTR  = 37,
+	VT_UINT_PTR = 38,
+	VT_FILETIME = 64,
+	VT_BLOB,
+	VT_STREAM,
+	VT_STORAGE,
+	VT_STREAMED_OBJECT,
+	VT_STORED_OBJECT,
+	VT_BLOB_OBJECT,
+	VT_CF,
+	VT_CLSID,
+	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
+};
+
+struct BYTE_SIZEDARR {
+	uint clSize;
+	byte* pData;
+}
+
+struct WORD_SIZEDARR {
+	uint clSize;
+	ushort* pData;
+}
+
+struct DWORD_SIZEDARR {
+uint clSize;
+uint* pData;
+}
+
+struct HYPER_SIZEDARR {
+	uint clSize;
+	hyper* pData;
+}
+
+alias double DOUBLE;
+
+
+struct DECIMAL {
+	USHORT wReserved;
+	union {
+		struct {
+			ubyte scale; // valid values are 0 to 28
+			ubyte sign; // 0 for positive, DECIMAL_NEG for negatives.
+			const ubyte DECIMAL_NEG = 0x80;
+		}
+		USHORT signscale;
+	}
+	ULONG Hi32;
+	union {
+		struct {
+			ULONG Lo32;
+			ULONG Mid32;
+		}
+		ULONGLONG Lo64;
+	}
+	// #define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;}
+	void setZero() { Lo64 = 0; Hi32 = 0; signscale = 0; }
+}