File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                               wtypes.d                                *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
4e2933c620 2015-04-21        kinaba: module win32.wtypes;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: import win32.rpc, win32.rpcndr;
4e2933c620 2015-04-21        kinaba: private import win32.windef;
4e2933c620 2015-04-21        kinaba: private import win32.uuid; // for GUID_NULL
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias GUID_NULL IID_NULL, CLSID_NULL;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const ROTFLAGS_REGISTRATIONKEEPSALIVE = 0x01;
4e2933c620 2015-04-21        kinaba: const ROTFLAGS_ALLOWANYCLIENT         = 0x02;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // also in winsock2.h
4e2933c620 2015-04-21        kinaba: struct BLOB {
4e2933c620 2015-04-21        kinaba: 	ULONG cbSize;
4e2933c620 2015-04-21        kinaba: 	BYTE* pBlobData;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias BLOB* PBLOB, LPBLOB;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum DVASPECT {
4e2933c620 2015-04-21        kinaba: 	DVASPECT_CONTENT   = 1,
4e2933c620 2015-04-21        kinaba: 	DVASPECT_THUMBNAIL = 2,
4e2933c620 2015-04-21        kinaba: 	DVASPECT_ICON      = 4,
4e2933c620 2015-04-21        kinaba: 	DVASPECT_DOCPRINT  = 8
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum DVASPECT2 {
4e2933c620 2015-04-21        kinaba: 	DVASPECT_OPAQUE      = 16,
4e2933c620 2015-04-21        kinaba: 	DVASPECT_TRANSPARENT = 32
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum STATFLAG {
4e2933c620 2015-04-21        kinaba: 	STATFLAG_DEFAULT = 0,
4e2933c620 2015-04-21        kinaba: 	STATFLAG_NONAME  = 1
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum MEMCTX {
4e2933c620 2015-04-21        kinaba: 	MEMCTX_LOCAL = 0,
4e2933c620 2015-04-21        kinaba: 	MEMCTX_TASK,
4e2933c620 2015-04-21        kinaba: 	MEMCTX_SHARED,
4e2933c620 2015-04-21        kinaba: 	MEMCTX_MACSYSTEM,
4e2933c620 2015-04-21        kinaba: 	MEMCTX_UNKNOWN = -1,
4e2933c620 2015-04-21        kinaba: 	MEMCTX_SAME = -2
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum MSHCTX {
4e2933c620 2015-04-21        kinaba: 	MSHCTX_LOCAL = 0,
4e2933c620 2015-04-21        kinaba: 	MSHCTX_NOSHAREDMEM,
4e2933c620 2015-04-21        kinaba: 	MSHCTX_DIFFERENTMACHINE,
4e2933c620 2015-04-21        kinaba: 	MSHCTX_INPROC,
4e2933c620 2015-04-21        kinaba: 	MSHCTX_CROSSCTX
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum CLSCTX {
4e2933c620 2015-04-21        kinaba: 	CLSCTX_INPROC_SERVER   = 1,
4e2933c620 2015-04-21        kinaba: 	CLSCTX_INPROC_HANDLER  = 2,
4e2933c620 2015-04-21        kinaba: 	CLSCTX_LOCAL_SERVER    = 4,
4e2933c620 2015-04-21        kinaba: 	CLSCTX_INPROC_SERVER16 = 8,
4e2933c620 2015-04-21        kinaba: 	CLSCTX_REMOTE_SERVER   = 16
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum MSHLFLAGS {
4e2933c620 2015-04-21        kinaba: 	MSHLFLAGS_NORMAL,
4e2933c620 2015-04-21        kinaba: 	MSHLFLAGS_TABLESTRONG,
4e2933c620 2015-04-21        kinaba: 	MSHLFLAGS_TABLEWEAK
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct FLAGGED_WORD_BLOB {
4e2933c620 2015-04-21        kinaba: 	uint fFlags;
4e2933c620 2015-04-21        kinaba: 	uint clSize;
4e2933c620 2015-04-21        kinaba: 	ushort asData[1];
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias WCHAR OLECHAR;
4e2933c620 2015-04-21        kinaba: alias LPWSTR LPOLESTR;
4e2933c620 2015-04-21        kinaba: alias LPCWSTR LPCOLESTR;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias ushort VARTYPE;
4e2933c620 2015-04-21        kinaba: alias short VARIANT_BOOL;
4e2933c620 2015-04-21        kinaba: alias VARIANT_BOOL _VARIANT_BOOL;
4e2933c620 2015-04-21        kinaba: const VARIANT_BOOL VARIANT_TRUE = -1; // 0xffff;
4e2933c620 2015-04-21        kinaba: const VARIANT_BOOL VARIANT_FALSE = 0;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias OLECHAR* BSTR;
4e2933c620 2015-04-21        kinaba: alias FLAGGED_WORD_BLOB* wireBSTR;
4e2933c620 2015-04-21        kinaba: alias BSTR* LPBSTR;
4e2933c620 2015-04-21        kinaba: //alias LONG SCODE; // also in winerror
4e2933c620 2015-04-21        kinaba: alias HANDLE HCONTEXT, HMETAFILEPICT;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: union CY {
4e2933c620 2015-04-21        kinaba: 	struct {
4e2933c620 2015-04-21        kinaba: 		uint Lo;
4e2933c620 2015-04-21        kinaba: 		int Hi;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	LONGLONG int64;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias double DATE;
4e2933c620 2015-04-21        kinaba: struct  BSTRBLOB {
4e2933c620 2015-04-21        kinaba: 	ULONG cbSize;
4e2933c620 2015-04-21        kinaba: 	PBYTE pData;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias BSTRBLOB* LPBSTRBLOB;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Used only in the PROPVARIANT structure
4e2933c620 2015-04-21        kinaba: // According to the 2003 SDK, this should be in propidl.h, not here.
4e2933c620 2015-04-21        kinaba: struct CLIPDATA {
4e2933c620 2015-04-21        kinaba: 	ULONG cbSize;
4e2933c620 2015-04-21        kinaba: 	int ulClipFmt;
4e2933c620 2015-04-21        kinaba: 	PBYTE pClipData;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum STGC {
4e2933c620 2015-04-21        kinaba: 	STGC_DEFAULT,
4e2933c620 2015-04-21        kinaba: 	STGC_OVERWRITE,
4e2933c620 2015-04-21        kinaba: 	STGC_ONLYIFCURRENT,
4e2933c620 2015-04-21        kinaba: 	STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum STGMOVE {
4e2933c620 2015-04-21        kinaba: 	STGMOVE_MOVE,
4e2933c620 2015-04-21        kinaba: 	STGMOVE_COPY,
4e2933c620 2015-04-21        kinaba: 	STGMOVE_SHALLOWCOPY
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum VARENUM {
4e2933c620 2015-04-21        kinaba: 	VT_EMPTY,
4e2933c620 2015-04-21        kinaba: 	VT_NULL,
4e2933c620 2015-04-21        kinaba: 	VT_I2,
4e2933c620 2015-04-21        kinaba: 	VT_I4,
4e2933c620 2015-04-21        kinaba: 	VT_R4,
4e2933c620 2015-04-21        kinaba: 	VT_R8,
4e2933c620 2015-04-21        kinaba: 	VT_CY,
4e2933c620 2015-04-21        kinaba: 	VT_DATE,
4e2933c620 2015-04-21        kinaba: 	VT_BSTR,
4e2933c620 2015-04-21        kinaba: 	VT_DISPATCH,
4e2933c620 2015-04-21        kinaba: 	VT_ERROR,
4e2933c620 2015-04-21        kinaba: 	VT_BOOL,
4e2933c620 2015-04-21        kinaba: 	VT_VARIANT,
4e2933c620 2015-04-21        kinaba: 	VT_UNKNOWN,
4e2933c620 2015-04-21        kinaba: 	VT_DECIMAL,
4e2933c620 2015-04-21        kinaba: 	VT_I1 = 16,
4e2933c620 2015-04-21        kinaba: 	VT_UI1,
4e2933c620 2015-04-21        kinaba: 	VT_UI2,
4e2933c620 2015-04-21        kinaba: 	VT_UI4,
4e2933c620 2015-04-21        kinaba: 	VT_I8,
4e2933c620 2015-04-21        kinaba: 	VT_UI8,
4e2933c620 2015-04-21        kinaba: 	VT_INT,
4e2933c620 2015-04-21        kinaba: 	VT_UINT,
4e2933c620 2015-04-21        kinaba: 	VT_VOID,
4e2933c620 2015-04-21        kinaba: 	VT_HRESULT,
4e2933c620 2015-04-21        kinaba: 	VT_PTR,
4e2933c620 2015-04-21        kinaba: 	VT_SAFEARRAY,
4e2933c620 2015-04-21        kinaba: 	VT_CARRAY,
4e2933c620 2015-04-21        kinaba: 	VT_USERDEFINED,
4e2933c620 2015-04-21        kinaba: 	VT_LPSTR,
4e2933c620 2015-04-21        kinaba: 	VT_LPWSTR,
4e2933c620 2015-04-21        kinaba: 	VT_RECORD   = 36,
4e2933c620 2015-04-21        kinaba: 	VT_INT_PTR  = 37,
4e2933c620 2015-04-21        kinaba: 	VT_UINT_PTR = 38,
4e2933c620 2015-04-21        kinaba: 	VT_FILETIME = 64,
4e2933c620 2015-04-21        kinaba: 	VT_BLOB,
4e2933c620 2015-04-21        kinaba: 	VT_STREAM,
4e2933c620 2015-04-21        kinaba: 	VT_STORAGE,
4e2933c620 2015-04-21        kinaba: 	VT_STREAMED_OBJECT,
4e2933c620 2015-04-21        kinaba: 	VT_STORED_OBJECT,
4e2933c620 2015-04-21        kinaba: 	VT_BLOB_OBJECT,
4e2933c620 2015-04-21        kinaba: 	VT_CF,
4e2933c620 2015-04-21        kinaba: 	VT_CLSID,
4e2933c620 2015-04-21        kinaba: 	VT_BSTR_BLOB     = 0xfff,
4e2933c620 2015-04-21        kinaba: 	VT_VECTOR        = 0x1000,
4e2933c620 2015-04-21        kinaba: 	VT_ARRAY         = 0x2000,
4e2933c620 2015-04-21        kinaba: 	VT_BYREF         = 0x4000,
4e2933c620 2015-04-21        kinaba: 	VT_RESERVED      = 0x8000,
4e2933c620 2015-04-21        kinaba: 	VT_ILLEGAL       = 0xffff,
4e2933c620 2015-04-21        kinaba: 	VT_ILLEGALMASKED = 0xfff,
4e2933c620 2015-04-21        kinaba: 	VT_TYPEMASK      = 0xfff
4e2933c620 2015-04-21        kinaba: };
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct BYTE_SIZEDARR {
4e2933c620 2015-04-21        kinaba: 	uint clSize;
4e2933c620 2015-04-21        kinaba: 	byte* pData;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct WORD_SIZEDARR {
4e2933c620 2015-04-21        kinaba: 	uint clSize;
4e2933c620 2015-04-21        kinaba: 	ushort* pData;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct DWORD_SIZEDARR {
4e2933c620 2015-04-21        kinaba: uint clSize;
4e2933c620 2015-04-21        kinaba: uint* pData;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct HYPER_SIZEDARR {
4e2933c620 2015-04-21        kinaba: 	uint clSize;
4e2933c620 2015-04-21        kinaba: 	hyper* pData;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias double DOUBLE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct DECIMAL {
4e2933c620 2015-04-21        kinaba: 	USHORT wReserved;
4e2933c620 2015-04-21        kinaba: 	union {
4e2933c620 2015-04-21        kinaba: 		struct {
4e2933c620 2015-04-21        kinaba: 			ubyte scale; // valid values are 0 to 28
4e2933c620 2015-04-21        kinaba: 			ubyte sign; // 0 for positive, DECIMAL_NEG for negatives.
4e2933c620 2015-04-21        kinaba: 			ubyte DECIMAL_NEG = 0x80;
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 		USHORT signscale;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	ULONG Hi32;
4e2933c620 2015-04-21        kinaba: 	union {
4e2933c620 2015-04-21        kinaba: 		struct {
4e2933c620 2015-04-21        kinaba: 			ULONG Lo32;
4e2933c620 2015-04-21        kinaba: 			ULONG Mid32;
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 		ULONGLONG Lo64;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	// #define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;}
4e2933c620 2015-04-21        kinaba: 	void setZero() { Lo64 = 0; Hi32 = 0; signscale = 0; }
4e2933c620 2015-04-21        kinaba: }