Mercurial > projects > ddbg_continued
diff win32/oaidl.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/oaidl.d Tue Apr 05 20:44:01 2011 +0200 @@ -0,0 +1,672 @@ +/***********************************************************************\ +* oaidl.d * +* * +* Windows API header module * +* * +* Translated from MinGW Windows headers * +* * +* Placed into public domain * +\***********************************************************************/ +module win32.oaidl; + +private import win32.basetyps, win32.unknwn, win32.windef, win32.wtypes; + +const DISPID_UNKNOWN = -1; +const DISPID_VALUE = 0; +const DISPID_PROPERTYPUT = -3; +const DISPID_NEWENUM = -4; +const DISPID_EVALUATE = -5; +const DISPID_CONSTRUCTOR = -6; +const DISPID_DESTRUCTOR = -7; +const DISPID_COLLECT = -8; + +const FADF_AUTO = 1; +const FADF_STATIC = 2; +const FADF_EMBEDDED = 4; +const FADF_FIXEDSIZE = 16; +const FADF_RECORD = 32; +const FADF_HAVEIID = 64; +const FADF_HAVEVARTYPE = 128; +const FADF_BSTR = 256; +const FADF_UNKNOWN = 512; +const FADF_DISPATCH = 1024; +const FADF_VARIANT = 2048; +const FADF_RESERVED = 0xf0e8; +const FADF_DATADELETED = 0x1000; +const FADF_CREATEVECTOR = 0x2000; + +const PARAMFLAG_NONE = 0; +const PARAMFLAG_FIN = 1; +const PARAMFLAG_FOUT = 2; +const PARAMFLAG_FLCID = 4; +const PARAMFLAG_FRETVAL = 8; +const PARAMFLAG_FOPT = 16; +const PARAMFLAG_FHASDEFAULT = 32; + +const IDLFLAG_NONE = PARAMFLAG_NONE; +const IDLFLAG_FIN = PARAMFLAG_FIN; +const IDLFLAG_FOUT = PARAMFLAG_FOUT; +const IDLFLAG_FLCID = PARAMFLAG_FLCID; +const IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL; + +const IMPLTYPEFLAG_FDEFAULT = 1; +const IMPLTYPEFLAG_FSOURCE = 2; +const IMPLTYPEFLAG_FRESTRICTED = 4; +const IMPLTYPEFLAG_FDEFAULTVTABLE = 8; + + +enum SYSKIND { + SYS_WIN16, + SYS_WIN32, + SYS_MAC +} + +enum LIBFLAGS { + LIBFLAG_FRESTRICTED = 1, + LIBFLAG_FCONTROL = 2, + LIBFLAG_FHIDDEN = 4, + LIBFLAG_FHASDISKIMAGE = 8 +} + +struct TLIBATTR { + GUID guid; + LCID lcid; + SYSKIND syskind; + WORD wMajorVerNum; + WORD wMinorVerNum; + WORD wLibFlags; +} +alias TLIBATTR* LPTLIBATTR; + +alias CY CURRENCY; + +struct SAFEARRAYBOUND { + ULONG cElements; + LONG lLbound; +} +alias SAFEARRAYBOUND* LPSAFEARRAYBOUND; + +struct SAFEARR_BSTR { + ULONG Size; + wireBSTR* aBstr; +} + +struct SAFEARR_UNKNOWN { + ULONG Size; + IUnknown** apUnknown; +} + +struct SAFEARR_DISPATCH { + ULONG Size; + LPDISPATCH* apDispatch; +} + +struct SAFEARR_VARIANT { + ULONG Size; + _wireVARIANT* aVariant; +} + +enum SF_TYPE { + SF_ERROR=VARENUM.VT_ERROR, + SF_I1=VARENUM.VT_I1, + SF_I2=VARENUM.VT_I2, + SF_I4=VARENUM.VT_I4, + SF_I8=VARENUM.VT_I8, + SF_BSTR=VARENUM.VT_BSTR, + SF_UNKNOWN=VARENUM.VT_UNKNOWN, + SF_DISPATCH=VARENUM.VT_DISPATCH, + SF_VARIANT=VARENUM.VT_VARIANT +} + +struct _wireBRECORD { + ULONG fFlags; + ULONG clSize; + LPRECORDINFO* pRecInfo; + byte* pRecord; +} +alias _wireBRECORD* wireBRECORD; + +struct SAFEARR_BRECORD { + ULONG Size; + wireBRECORD* aRecord; +} + +struct SAFEARR_HAVEIID { + ULONG Size; + IUnknown** apUnknown; + IID iid; +} + +struct SAFEARRAYUNION { + ULONG sfType; + union _u { + 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; + } + _u u; +} + +struct _wireSAFEARRAY { + USHORT cDims; + USHORT fFeatures; + ULONG cbElements; + ULONG cLocks; + SAFEARRAYUNION uArrayStructs; + SAFEARRAYBOUND rgsabound[1]; +} +alias _wireSAFEARRAY* wireSAFEARRAY; + +alias wireSAFEARRAY* wirePSAFEARRAY; + +struct SAFEARRAY { + USHORT cDims; + USHORT fFeatures; + ULONG cbElements; + ULONG cLocks; + PVOID pvData; + SAFEARRAYBOUND rgsabound[1]; +} +alias SAFEARRAY* LPSAFEARRAY; + +struct VARIANT { + union { + struct { + VARTYPE vt; + WORD wReserved1; + WORD wReserved2; + WORD wReserved3; + union { + int lVal; + LONGLONG llVal; + ubyte bVal; + short iVal; + float fltVal; + double dblVal; + VARIANT_BOOL boolVal; + SCODE scode; + CY cyVal; + DATE date; + BSTR bstrVal; + IUnknown punkVal; + IDispatch pdispVal; + SAFEARRAY* parray; + ubyte* pbVal; + short* piVal; + int* plVal; + float* pfltVal; + double* pdblVal; + VARIANT_BOOL* pboolVal; + _VARIANT_BOOL* pbool; + SCODE* pscode; + CY* pcyVal; + DATE* pdate; + BSTR* pbstrVal; + IUnknown* ppunkVal; + IDispatch* ppdispVal; + SAFEARRAY** pparray; + VARIANT* pvarVal; + void* byref; + CHAR cVal; + USHORT uiVal; + ULONG ulVal; + ULONGLONG ullVal; + INT intVal; + UINT uintVal; + DECIMAL* pdecVal; + CHAR* pcVal; + USHORT* puiVal; + ULONG* pulVal; + INT* pintVal; + UINT* puintVal; + struct { + PVOID pvRecord; + IRecordInfo pRecInfo; + } + } + } + DECIMAL decVal; + } +} +alias VARIANT* LPVARIANT; + +alias VARIANT VARIANTARG; +alias VARIANT* LPVARIANTARG; + +struct _wireVARIANT { + DWORD clSize; + DWORD rpcReserved; + USHORT vt; + USHORT wReserved1; + USHORT wReserved2; + USHORT wReserved3; + union { + LONG lVal; + LONGLONG llVal; + BYTE bVal; + SHORT iVal; + FLOAT fltVal; + DOUBLE dblVal; + VARIANT_BOOL boolVal; + SCODE scode; + CY cyVal; + DATE date; + wireBSTR bstrVal; + IUnknown* punkVal; + LPDISPATCH pdispVal; + wirePSAFEARRAY parray; + wireBRECORD brecVal; + BYTE* pbVal; + SHORT* piVal; + LONG* plVal; + FLOAT* pfltVal; + DOUBLE* pdblVal; + VARIANT_BOOL* pboolVal; + SCODE* pscode; + CY* pcyVal; + DATE* pdate; + wireBSTR* pbstrVal; + IUnknown** ppunkVal; + LPDISPATCH* ppdispVal; + wirePSAFEARRAY* pparray; + wireVARIANT* pvarVal; + CHAR cVal; + USHORT uiVal; + ULONG ulVal; + ULONGLONG ullVal; + INT intVal; + UINT uintVal; + DECIMAL decVal; + DECIMAL* pdecVal; + CHAR* pcVal; + USHORT* puiVal; + ULONG* pulVal; + INT* pintVal; + UINT* puintVal; + } +} +alias _wireVARIANT* wireVARIANT; + +alias LONG DISPID; +alias DISPID MEMBERID; +alias DWORD HREFTYPE; + +enum TYPEKIND { + TKIND_ENUM, TKIND_RECORD, TKIND_MODULE, TKIND_INTERFACE, TKIND_DISPATCH, + TKIND_COCLASS, TKIND_ALIAS, TKIND_UNION, TKIND_MAX +} + +struct TYPEDESC { + union { + TYPEDESC* lptdesc; + ARRAYDESC* lpadesc; + HREFTYPE hreftype; + } + VARTYPE vt; +} + +struct ARRAYDESC { + TYPEDESC tdescElem; + USHORT cDims; + SAFEARRAYBOUND rgbounds[1]; +} + +struct PARAMDESCEX { + ULONG cBytes; + VARIANTARG varDefaultValue; +} +alias PARAMDESCEX* LPPARAMDESCEX; + +struct PARAMDESC { + LPPARAMDESCEX pparamdescex; + USHORT wParamFlags; +} +alias PARAMDESC* LPPARAMDESC; + +struct IDLDESC { + ULONG dwReserved; + USHORT wIDLFlags; +} +alias IDLDESC* LPIDLDESC; + +struct ELEMDESC { + TYPEDESC tdesc; + union { + IDLDESC idldesc; + PARAMDESC paramdesc; + } +} +alias ELEMDESC* LPELEMDESC; + +struct TYPEATTR { + GUID guid; + LCID lcid; + DWORD dwReserved; + MEMBERID memidConstructor; + MEMBERID memidDestructor; + LPOLESTR lpstrSchema; + ULONG cbSizeInstance; + TYPEKIND typekind; + WORD cFuncs; + WORD cVars; + WORD cImplTypes; + WORD cbSizeVft; + WORD cbAlignment; + WORD wTypeFlags; + WORD wMajorVerNum; + WORD wMinorVerNum; + TYPEDESC tdescAlias; + IDLDESC idldescType; +} +alias TYPEATTR* LPTYPEATTR; + +struct DISPPARAMS { + VARIANTARG* rgvarg; + DISPID* rgdispidNamedArgs; + UINT cArgs; + UINT cNamedArgs; +} + +struct EXCEPINFO { + WORD wCode; + WORD wReserved; + BSTR bstrSource; + BSTR bstrDescription; + BSTR bstrHelpFile; + DWORD dwHelpContext; + PVOID pvReserved; + extern (Windows) { + HRESULT function (EXCEPINFO* ) pfnDeferredFillIn; + } + SCODE scode; +} +alias EXCEPINFO* LPEXCEPINFO; + +enum CALLCONV { + CC_FASTCALL, + CC_CDECL, + CC_MSCPASCAL, + CC_PASCAL=CC_MSCPASCAL, + CC_MACPASCAL, + CC_STDCALL, + CC_FPFASTCALL, + CC_SYSCALL, + CC_MPWCDECL, + CC_MPWPASCAL, + CC_MAX=CC_MPWPASCAL +} + +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; + 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 +} + +struct VARDESC { + MEMBERID memid; + LPOLESTR lpstrSchema; + union { + ULONG oInst; + VARIANT* lpvarValue; + } + ELEMDESC elemdescVar; + WORD wVarFlags; + VARKIND varkind; +} +alias VARDESC* LPVARDESC; + +enum TYPEFLAGS { + TYPEFLAG_FAPPOBJECT = 1, + TYPEFLAG_FCANCREATE = 2, + TYPEFLAG_FLICENSED = 4, + TYPEFLAG_FPREDECLID = 8, + TYPEFLAG_FHIDDEN = 16, + TYPEFLAG_FCONTROL = 32, + TYPEFLAG_FDUAL = 64, + TYPEFLAG_FNONEXTENSIBLE = 128, + TYPEFLAG_FOLEAUTOMATION = 256, + TYPEFLAG_FRESTRICTED = 512, + TYPEFLAG_FAGGREGATABLE = 1024, + TYPEFLAG_FREPLACEABLE = 2048, + TYPEFLAG_FDISPATCHABLE = 4096, + TYPEFLAG_FREVERSEBIND = 8192 +} + +enum FUNCFLAGS { + FUNCFLAG_FRESTRICTED = 1, + FUNCFLAG_FSOURCE = 2, + FUNCFLAG_FBINDABLE = 4, + FUNCFLAG_FREQUESTEDIT = 8, + FUNCFLAG_FDISPLAYBIND = 16, + FUNCFLAG_FDEFAULTBIND = 32, + FUNCFLAG_FHIDDEN = 64, + FUNCFLAG_FUSESGETLASTERROR = 128, + FUNCFLAG_FDEFAULTCOLLELEM = 256, + FUNCFLAG_FUIDEFAULT = 512, + FUNCFLAG_FNONBROWSABLE = 1024, + FUNCFLAG_FREPLACEABLE = 2048, + FUNCFLAG_FIMMEDIATEBIND = 4096 +} + +enum VARFLAGS { + VARFLAG_FREADONLY = 1, + VARFLAG_FSOURCE = 2, + VARFLAG_FBINDABLE = 4, + VARFLAG_FREQUESTEDIT = 8, + VARFLAG_FDISPLAYBIND = 16, + VARFLAG_FDEFAULTBIND = 32, + VARFLAG_FHIDDEN = 64, + VARFLAG_FRESTRICTED = 128, + VARFLAG_FDEFAULTCOLLELEM = 256, + VARFLAG_FUIDEFAULT = 512, + VARFLAG_FNONBROWSABLE = 1024, + VARFLAG_FREPLACEABLE = 2048, + VARFLAG_FIMMEDIATEBIND = 4096 +} + +struct CLEANLOCALSTORAGE { + IUnknown* pInterface; + PVOID pStorage; + DWORD flags; +} + +struct CUSTDATAITEM { + GUID guid; + VARIANTARG varValue; +} +alias CUSTDATAITEM* LPCUSTDATAITEM; + +struct CUSTDATA { + DWORD cCustData; + LPCUSTDATAITEM prgCustData; +} +alias CUSTDATA* LPCUSTDATA; + +enum DESCKIND { + DESCKIND_NONE = 0, + DESCKIND_FUNCDESC = DESCKIND_NONE+1, + DESCKIND_VARDESC = DESCKIND_FUNCDESC+1, + DESCKIND_TYPECOMP = DESCKIND_VARDESC+1, + DESCKIND_IMPLICITAPPOBJ = DESCKIND_TYPECOMP+1, + DESCKIND_MAX = DESCKIND_IMPLICITAPPOBJ+1 +} + +union BINDPTR { + LPFUNCDESC lpfuncdesc; + LPVARDESC lpvardesc; + LPTYPECOMP lptcomp; +} +alias BINDPTR* LPBINDPTR; + +interface IDispatch : public IUnknown { + HRESULT GetTypeInfoCount(UINT*); + HRESULT GetTypeInfo(UINT, LCID, LPTYPEINFO*); + HRESULT GetIDsOfNames(REFIID, LPOLESTR*, UINT, LCID, DISPID*); + HRESULT Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*); +} +alias IDispatch LPDISPATCH; + +interface IEnumVARIANT : public IUnknown { + HRESULT Next(ULONG, VARIANT*, ULONG*); + HRESULT Skip(ULONG); + HRESULT Reset(); + HRESULT Clone(IEnumVARIANT**); +} +alias IEnumVARIANT LPENUMVARIANT; + +interface ITypeComp : public IUnknown { + HRESULT Bind(LPOLESTR, ULONG, WORD, LPTYPEINFO*, DESCKIND*, LPBINDPTR); + HRESULT BindType(LPOLESTR, ULONG, LPTYPEINFO*, LPTYPECOMP*); +} +alias ITypeComp LPTYPECOMP; + +interface ITypeInfo : public IUnknown { + HRESULT GetTypeAttr(LPTYPEATTR*); + HRESULT GetTypeComp(LPTYPECOMP*); + HRESULT GetFuncDesc(UINT, LPFUNCDESC*); + HRESULT GetVarDesc(UINT, LPVARDESC*); + HRESULT GetNames(MEMBERID, BSTR*, UINT, UINT*); + HRESULT GetRefTypeOfImplType(UINT, HREFTYPE*); + HRESULT GetImplTypeFlags(UINT, INT*); + HRESULT GetIDsOfNames(LPOLESTR*, UINT, MEMBERID*); + HRESULT Invoke(PVOID, MEMBERID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, + UINT*); + HRESULT GetDocumentation(MEMBERID, BSTR*, BSTR*, DWORD*, BSTR*); + HRESULT GetDllEntry(MEMBERID, INVOKEKIND, BSTR*, BSTR*, WORD*); + HRESULT GetRefTypeInfo(HREFTYPE, LPTYPEINFO*); + HRESULT AddressOfMember(MEMBERID, INVOKEKIND, PVOID*); + HRESULT CreateInstance(LPUNKNOWN, REFIID, PVOID*); + HRESULT GetMops(MEMBERID, BSTR*); + HRESULT GetContainingTypeLib(LPTYPELIB*, UINT*); + void ReleaseTypeAttr(LPTYPEATTR); + void ReleaseFuncDesc(LPFUNCDESC); + void ReleaseVarDesc(LPVARDESC); +} +alias ITypeInfo LPTYPEINFO; + +interface ITypeInfo2 : public ITypeInfo { + HRESULT GetTypeKind(TYPEKIND*); + HRESULT GetTypeFlags(ULONG*); + HRESULT GetFuncIndexOfMemId(MEMBERID, INVOKEKIND, UINT*); + HRESULT GetVarIndexOfMemId(MEMBERID, UINT*); + HRESULT GetCustData(REFGUID, VARIANT*); + HRESULT GetFuncCustData(UINT, REFGUID, VARIANT*); + HRESULT GetParamCustData(UINT, UINT, REFGUID, VARIANT*); + HRESULT GetVarCustData(UINT, REFGUID, VARIANT*); + HRESULT GetImplTypeCustData(UINT, REFGUID, VARIANT*); + HRESULT GetDocumentation2(MEMBERID, LCID, BSTR*, DWORD*, BSTR*); + HRESULT GetAllCustData(CUSTDATA*); + HRESULT GetAllFuncCustData(UINT, CUSTDATA*); + HRESULT GetAllParamCustData(UINT, UINT, CUSTDATA*); + HRESULT GetAllVarCustData(UINT, CUSTDATA*); + HRESULT GetAllImplTypeCustData(UINT, CUSTDATA*); +} +alias ITypeInfo2 LPTYPEINFO2; + +interface ITypeLib : public IUnknown { + UINT GetTypeInfoCount(); + HRESULT GetTypeInfo(UINT, ITypeInfo**); + HRESULT GetTypeInfoType(UINT, TYPEKIND*); + HRESULT GetTypeInfoOfGuid(REFGUID, ITypeInfo**); + HRESULT GetLibAttr(TLIBATTR**); + HRESULT GetTypeComp(ITypeComp*); + HRESULT GetDocumentation(INT, BSTR*, BSTR*, DWORD*, BSTR*); + HRESULT IsName(LPOLESTR, ULONG, BOOL*); + HRESULT FindName(LPOLESTR, ULONG, ITypeInfo**, MEMBERID*, USHORT*); + void ReleaseTLibAttr(TLIBATTR*); +} +alias ITypeLib LPTYPELIB; + +interface ITypeLib2 : public ITypeLib { + HRESULT GetCustData(REFGUID, VARIANT*); + HRESULT GetLibStatistics(ULONG*, ULONG*); + HRESULT GetDocumentation2(INT, LCID, BSTR*, DWORD*, BSTR*); + HRESULT GetAllCustData(CUSTDATA*); +} +alias ITypeLib2 LPTYPELIB2; + +interface IErrorInfo : public IUnknown { + HRESULT GetGUID(GUID*); + HRESULT GetSource(BSTR*); + HRESULT GetDescription(BSTR*); + HRESULT GetHelpFile(BSTR*); + HRESULT GetHelpContext(DWORD*); +} +alias IErrorInfo LPERRORINFO; + +interface ICreateErrorInfo : public IUnknown { + HRESULT SetGUID(REFGUID); + HRESULT SetSource(LPOLESTR); + HRESULT SetDescription(LPOLESTR); + HRESULT SetHelpFile(LPOLESTR); + HRESULT SetHelpContext(DWORD); +} +alias ICreateErrorInfo* LPCREATEERRORINFO; + +interface ISupportErrorInfo : public IUnknown { + HRESULT InterfaceSupportsErrorInfo(REFIID); +} +alias ISupportErrorInfo LPSUPPORTERRORINFO; + +interface IRecordInfo : public IUnknown { + HRESULT RecordInit(PVOID); + HRESULT RecordClear(PVOID); + HRESULT RecordCopy(PVOID, PVOID); + HRESULT GetGuid(GUID*); + HRESULT GetName(BSTR*); + HRESULT GetSize(ULONG*); + HRESULT GetTypeInfo(ITypeInfo**); + HRESULT GetField(PVOID, LPCOLESTR, VARIANT*); + HRESULT GetFieldNoCopy(PVOID, LPCOLESTR, VARIANT*, PVOID*); + HRESULT PutField (ULONG, PVOID, LPCOLESTR, VARIANT*); + HRESULT PutFieldNoCopy(ULONG, PVOID, LPCOLESTR, VARIANT*); + HRESULT GetFieldNames(ULONG*, BSTR*); + BOOL IsMatchingType(); + PVOID RecordCreate(); + HRESULT RecordCreateCopy(PVOID, PVOID*); + HRESULT RecordDestroy (PVOID); +} +alias IRecordInfo LPRECORDINFO; + +interface ITypeMarshal : public IUnknown { + HRESULT Size(PVOID, DWORD, PVOID, ULONG*); + HRESULT Marshal(PVOID, DWORD, PVOID, ULONG, BYTE*, ULONG*); + HRESULT Unmarshal(PVOID, DWORD, ULONG, BYTE*, ULONG*); + HRESULT Free(PVOID); +}