| /** |
| * Windows API header module |
| * |
| * Translated from MinGW Windows headers |
| * |
| * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) |
| * Source: $(DRUNTIMESRC src/core/sys/windows/_oaidl.d) |
| */ |
| module core.sys.windows.oaidl; |
| version (Windows): |
| @system: |
| |
| import core.sys.windows.basetyps, core.sys.windows.unknwn, core.sys.windows.windef, core.sys.windows.wtypes; |
| |
| enum DISPID_UNKNOWN = -1; |
| enum DISPID_VALUE = 0; |
| enum DISPID_PROPERTYPUT = -3; |
| enum DISPID_NEWENUM = -4; |
| enum DISPID_EVALUATE = -5; |
| enum DISPID_CONSTRUCTOR = -6; |
| enum DISPID_DESTRUCTOR = -7; |
| enum DISPID_COLLECT = -8; |
| |
| enum FADF_AUTO = 1; |
| enum FADF_STATIC = 2; |
| enum FADF_EMBEDDED = 4; |
| enum FADF_FIXEDSIZE = 16; |
| enum FADF_RECORD = 32; |
| enum FADF_HAVEIID = 64; |
| enum FADF_HAVEVARTYPE = 128; |
| enum FADF_BSTR = 256; |
| enum FADF_UNKNOWN = 512; |
| enum FADF_DISPATCH = 1024; |
| enum FADF_VARIANT = 2048; |
| enum FADF_RESERVED = 0xf0e8; |
| enum FADF_DATADELETED = 0x1000; |
| enum FADF_CREATEVECTOR = 0x2000; |
| |
| enum PARAMFLAG_NONE = 0; |
| enum PARAMFLAG_FIN = 1; |
| enum PARAMFLAG_FOUT = 2; |
| enum PARAMFLAG_FLCID = 4; |
| enum PARAMFLAG_FRETVAL = 8; |
| enum PARAMFLAG_FOPT = 16; |
| enum PARAMFLAG_FHASDEFAULT = 32; |
| enum PARAMFLAG_FHASCUSTDATA = 64; |
| |
| enum IDLFLAG_NONE = PARAMFLAG_NONE; |
| enum IDLFLAG_FIN = PARAMFLAG_FIN; |
| enum IDLFLAG_FOUT = PARAMFLAG_FOUT; |
| enum IDLFLAG_FLCID = PARAMFLAG_FLCID; |
| enum IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL; |
| |
| enum IMPLTYPEFLAG_FDEFAULT = 1; |
| enum IMPLTYPEFLAG_FSOURCE = 2; |
| enum IMPLTYPEFLAG_FRESTRICTED = 4; |
| enum 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[1] rgsabound; |
| } |
| alias _wireSAFEARRAY* wireSAFEARRAY; |
| |
| alias wireSAFEARRAY* wirePSAFEARRAY; |
| |
| struct SAFEARRAY { |
| USHORT cDims; |
| USHORT fFeatures; |
| ULONG cbElements; |
| ULONG cLocks; |
| PVOID pvData; |
| SAFEARRAYBOUND[1] rgsabound; |
| } |
| 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; |
| LONGLONG* pllVal; |
| 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; |
| ULONGLONG* pullVal; |
| 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; |
| LONGLONG* pllVal; |
| 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; |
| ULONGLONG* pullVal; |
| 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[1] rgbounds; |
| } |
| |
| struct PARAMDESCEX { |
| ULONG cBytes; |
| VARIANTARG varDefaultValue; |
| } |
| alias PARAMDESCEX* LPPARAMDESCEX; |
| |
| struct PARAMDESC { |
| LPPARAMDESCEX pparamdescex; |
| USHORT wParamFlags; |
| } |
| alias PARAMDESC* LPPARAMDESC; |
| |
| struct IDLDESC { |
| ULONG_PTR 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 : 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 : IUnknown { |
| HRESULT Next(ULONG, VARIANT*, ULONG*); |
| HRESULT Skip(ULONG); |
| HRESULT Reset(); |
| HRESULT Clone(IEnumVARIANT*); |
| } |
| alias IEnumVARIANT LPENUMVARIANT; |
| |
| interface ITypeComp : IUnknown { |
| HRESULT Bind(LPOLESTR, ULONG, WORD, LPTYPEINFO*, DESCKIND*, LPBINDPTR); |
| HRESULT BindType(LPOLESTR, ULONG, LPTYPEINFO*, LPTYPECOMP*); |
| } |
| alias ITypeComp LPTYPECOMP; |
| |
| interface ITypeInfo : 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 : 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 : 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 : ITypeLib { |
| HRESULT GetCustData(REFGUID, VARIANT*); |
| HRESULT GetLibStatistics(ULONG*, ULONG*); |
| HRESULT GetDocumentation2(INT, LCID, BSTR*, DWORD*, BSTR*); |
| HRESULT GetAllCustData(CUSTDATA*); |
| } |
| alias ITypeLib2 LPTYPELIB2; |
| |
| interface IErrorInfo : IUnknown { |
| HRESULT GetGUID(GUID*); |
| HRESULT GetSource(BSTR*); |
| HRESULT GetDescription(BSTR*); |
| HRESULT GetHelpFile(BSTR*); |
| HRESULT GetHelpContext(DWORD*); |
| } |
| alias IErrorInfo LPERRORINFO; |
| |
| interface ICreateErrorInfo : IUnknown { |
| HRESULT SetGUID(REFGUID); |
| HRESULT SetSource(LPOLESTR); |
| HRESULT SetDescription(LPOLESTR); |
| HRESULT SetHelpFile(LPOLESTR); |
| HRESULT SetHelpContext(DWORD); |
| } |
| alias ICreateErrorInfo LPCREATEERRORINFO; |
| |
| interface ISupportErrorInfo : IUnknown { |
| HRESULT InterfaceSupportsErrorInfo(REFIID); |
| } |
| alias ISupportErrorInfo LPSUPPORTERRORINFO; |
| |
| interface IRecordInfo : 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 : 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); |
| } |