diff options
author | Danny Smith <dannysmith@users.sourceforge.net> | 2004-01-04 01:12:35 +0300 |
---|---|---|
committer | Danny Smith <dannysmith@users.sourceforge.net> | 2004-01-04 01:12:35 +0300 |
commit | b01201ec32169c6b2889e1c4dd24a4a71ad16bbd (patch) | |
tree | 9b2b37a7f2d721d6fc417d79f8b7fa8c6f383952 /winsup/w32api/include | |
parent | 0efff769fde31941788e77bdeac1d7fdd2e19088 (diff) |
2004-01-03 Filip Navara <xnavara@volny.cz>
* include/cguid.h (CLSID_StdGlobalInterfaceTable): Declare IID.
* include/oaidl.h (ITypeLib2, ITypeInfo2): Define interfaces,
declare IID's.
(IErrorInfo): Add COBJMACROS.
* include/objbase.h (STGM_NOSNAPSHOT): Add define.
(CoGetPSClsid): Add protototype,
(CoRegisterPSClsid): Likewise.
* include/objidl.h (IMarshal): Correct methods.
(IMallocSpy): Likewise,
(LPPSFACTORYBUFFER): Add typedef.
(IGlobalInterfaceTable): Define interface and COBJMACROS. Declare
IID.
(IStorage_CreateStorage, IRpcStubBuffer_Invoke): Fix macros.
* include/ocidl.h (PROPBAG2_TYPE): Define enum.
(PROPBAG2, QACONTAINERFLAGS, QACONTAINER, QACONTROL): Define
structures.
(IPropertyBag2, IPersistPropertyBag2,IAdviseSinkEx, IPointerInactive,
IOleUndoUnit, IOleParentUndoUnit, IEnumOleUndoUnits, IOleUndoManager,
IQuickActivate): Define interfaces. Declare IID's.
(IPersistPropertyBag2): Add COBJMACROS.
(LPOLEUNDOMANAGER): Add typedef.
(LPPROPERTYBAG2): Likewise.
* include/oleidl.h (LPPARSEDISPLAYNAME): Fix definiton.
(BINDSPEED): Add definition.
(IParseDisplayName, IOleItemContainer, IOleObject, IDropSource,
IDropTarget): Add COBJMACROS.
* include/wtypes.h (MEMCTX, MSHCTX): Fix enums.
* include/winerror.h (CO_S_NOTALLINTERFACES): Add define.
* lib/uuid.c (IID_IGlobalInterfaceTable, IID_IOleUndoManager,
IID_IPersistPropertyBag2, IID_IPropertyBag2, IID_IRpcProxyBuffer):
Add definitions.
Diffstat (limited to 'winsup/w32api/include')
-rw-r--r-- | winsup/w32api/include/cguid.h | 1 | ||||
-rw-r--r-- | winsup/w32api/include/oaidl.h | 81 | ||||
-rw-r--r-- | winsup/w32api/include/objbase.h | 3 | ||||
-rw-r--r-- | winsup/w32api/include/objidl.h | 37 | ||||
-rw-r--r-- | winsup/w32api/include/ocidl.h | 212 | ||||
-rw-r--r-- | winsup/w32api/include/oleidl.h | 72 | ||||
-rw-r--r-- | winsup/w32api/include/winerror.h | 1 | ||||
-rw-r--r-- | winsup/w32api/include/wtypes.h | 8 |
8 files changed, 403 insertions, 12 deletions
diff --git a/winsup/w32api/include/cguid.h b/winsup/w32api/include/cguid.h index a9f2f8df5..ca64c5e66 100644 --- a/winsup/w32api/include/cguid.h +++ b/winsup/w32api/include/cguid.h @@ -75,6 +75,7 @@ extern const CLSID CLSID_InProcFreeMarshaler; extern const CLSID CLSID_Picture_Metafile; extern const CLSID CLSID_Picture_EnhMetafile; extern const CLSID CLSID_Picture_Dib; +extern const CLSID CLSID_StdGlobalInterfaceTable; extern const GUID GUID_TRISTATE; #ifdef __cplusplus } diff --git a/winsup/w32api/include/oaidl.h b/winsup/w32api/include/oaidl.h index 06125ed80..06c4116ab 100644 --- a/winsup/w32api/include/oaidl.h +++ b/winsup/w32api/include/oaidl.h @@ -54,12 +54,14 @@ extern "C" { #define IMPLTYPEFLAG_FDEFAULTVTABLE 8 typedef interface ITypeLib *LPTYPELIB; +typedef interface ITypeLib2 *LPTYPELIB2; typedef interface ICreateTypeInfo *LPCREATETYPEINFO; typedef interface ICreateTypeInfo2 *LPCREATETYPEINFO2; typedef interface ICreateTypeLib *LPCREATETYPELIB; typedef interface ICreateTypeLib2 *LPCREATETYPELIB2; typedef interface ITypeComp *LPTYPECOMP; typedef interface ITypeInfo *LPTYPEINFO; +typedef interface ITypeInfo2 *LPTYPEINFO2; typedef interface IErrorInfo *LPERRORINFO; typedef interface IDispatch *LPDISPATCH; typedef interface IEnumVARIANT *LPENUMVARIANT; @@ -68,11 +70,13 @@ typedef interface ISupportErrorInfo *LPSUPPORTERRORINFO; typedef interface IRecordInfo *LPRECORDINFO; extern const IID IID_ITypeLib; +extern const IID IID_ITypeLib2; extern const IID IID_ICreateTypeInfo; extern const IID IID_ICreateTypeInfo2; extern const IID IID_ICreateTypeLib; extern const IID IID_ICreateTypeLib2; extern const IID IID_ITypeInfo; +extern const IID IID_ITypeInfo2; extern const IID IID_IErrorInfo; extern const IID IID_IDispatch; extern const IID IID_IEnumVARIANT; @@ -519,6 +523,49 @@ DECLARE_INTERFACE_(ITypeInfo,IUnknown) }; #undef INTERFACE +#define INTERFACE ITypeInfo2 +DECLARE_INTERFACE_(ITypeInfo2,ITypeInfo) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetTypeAttr)(THIS_ LPTYPEATTR*) PURE; + STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE; + STDMETHOD(GetFuncDesc)(THIS_ UINT,LPFUNCDESC*) PURE; + STDMETHOD(GetVarDesc)(THIS_ UINT,LPVARDESC*) PURE; + STDMETHOD(GetNames)(THIS_ MEMBERID,BSTR*,UINT,UINT*) PURE; + STDMETHOD(GetRefTypeOfImplType)(THIS_ UINT,HREFTYPE*) PURE; + STDMETHOD(GetImplTypeFlags)(THIS_ UINT,INT*) PURE; + STDMETHOD(GetIDsOfNames)(THIS_ LPOLESTR*,UINT,MEMBERID*) PURE; + STDMETHOD(Invoke)(THIS_ PVOID,MEMBERID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE; + STDMETHOD(GetDocumentation)(THIS_ MEMBERID,BSTR*,BSTR*,DWORD*,BSTR*) PURE; + STDMETHOD(GetDllEntry)(THIS_ MEMBERID,INVOKEKIND,BSTR*,BSTR*,WORD*) PURE; + STDMETHOD(GetRefTypeInfo)(THIS_ HREFTYPE,LPTYPEINFO*) PURE; + STDMETHOD(AddressOfMember)(THIS_ MEMBERID,INVOKEKIND,PVOID*) PURE; + STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE; + STDMETHOD(GetMops)(THIS_ MEMBERID,BSTR*) PURE; + STDMETHOD(GetContainingTypeLib)(THIS_ LPTYPELIB*,UINT*) PURE; + STDMETHOD_(void,ReleaseTypeAttr)(THIS_ LPTYPEATTR) PURE; + STDMETHOD_(void,ReleaseFuncDesc)(THIS_ LPFUNCDESC) PURE; + STDMETHOD_(void,ReleaseVarDesc)(THIS_ LPVARDESC) PURE; + STDMETHOD(GetTypeKind)(THIS_ TYPEKIND*) PURE; + STDMETHOD(GetTypeFlags)(THIS_ ULONG*) PURE; + STDMETHOD(GetFuncIndexOfMemId)(THIS_ MEMBERID,INVOKEKIND,UINT*) PURE; + STDMETHOD(GetVarIndexOfMemId)(THIS_ MEMBERID,UINT*) PURE; + STDMETHOD(GetCustData)(THIS_ REFGUID,VARIANT*) PURE; + STDMETHOD(GetFuncCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE; + STDMETHOD(GetParamCustData)(THIS_ UINT,UINT,REFGUID,VARIANT*) PURE; + STDMETHOD(GetVarCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE; + STDMETHOD(GetImplTypeCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE; + STDMETHOD(GetDocumentation2)(THIS_ MEMBERID,LCID,BSTR*,DWORD*,BSTR*) PURE; + STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE; + STDMETHOD(GetAllFuncCustData)(THIS_ UINT,CUSTDATA*) PURE; + STDMETHOD(GetAllParamCustData)(THIS_ UINT,UINT,CUSTDATA*) PURE; + STDMETHOD(GetAllVarCustData)(THIS_ UINT,CUSTDATA*) PURE; + STDMETHOD(GetAllImplTypeCustData)(THIS_ UINT,CUSTDATA*) PURE; +}; + +#undef INTERFACE #define INTERFACE ITypeLib DECLARE_INTERFACE_(ITypeLib,IUnknown) { @@ -537,6 +584,29 @@ DECLARE_INTERFACE_(ITypeLib,IUnknown) STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE; }; +#undef INTERFACE +#define INTERFACE ITypeLib2 +DECLARE_INTERFACE_(ITypeLib2,ITypeLib) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; + STDMETHOD(GetTypeInfo)(THIS_ UINT,ITypeInfo**) PURE; + STDMETHOD(GetTypeInfoType)(THIS_ UINT,TYPEKIND*) PURE; + STDMETHOD(GetTypeInfoOfGuid)(THIS_ REFGUID,ITypeInfo**) PURE; + STDMETHOD(GetLibAttr)(THIS_ TLIBATTR**) PURE; + STDMETHOD(GetTypeComp)(THIS_ ITypeComp*) PURE; + STDMETHOD(GetDocumentation)(THIS_ INT,BSTR*,BSTR*,DWORD*,BSTR*) PURE; + STDMETHOD(IsName)(THIS_ LPOLESTR,ULONG,BOOL*) PURE; + STDMETHOD(FindName)(THIS_ LPOLESTR,ULONG,ITypeInfo**,MEMBERID*,USHORT*) PURE; + STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE; + STDMETHOD(GetCustData)(THIS_ REFGUID,VARIANT*) PURE; + STDMETHOD(GetLibStatistics)(THIS_ ULONG*,ULONG*) PURE; + STDMETHOD(GetDocumentation2)(THIS_ INT,LCID,BSTR*,DWORD*,BSTR*) PURE; + STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE; +}; + EXTERN_C const IID IID_IErrorInfo; #undef INTERFACE #define INTERFACE IErrorInfo @@ -552,6 +622,17 @@ DECLARE_INTERFACE_(IErrorInfo, IUnknown) STDMETHOD(GetHelpContext)(THIS_ DWORD*) PURE; }; +#ifdef COBJMACROS +#define IErrorInfo_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) +#define IErrorInfo_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IErrorInfo_Release(T) (T)->lpVtbl->Release(T) +#define IErrorInfo_GetGUID(T,a) (T)->lpVtbl->GetGUID(T,a) +#define IErrorInfo_GetSource(T,a) (T)->lpVtbl->GetSource(T,a) +#define IErrorInfo_GetDescription(T,a) (T)->lpVtbl->GetDescription(T,a) +#define IErrorInfo_GetHelpFile(T,a) (T)->lpVtbl->GetHelpFile(T,a) +#define IErrorInfo_GetHelpContext(T,a) (T)->lpVtbl->GetHelpContext(T,a) +#endif + EXTERN_C const IID IID_ICreateErrorInfo; #undef INTERFACE #define INTERFACE ICreateErrorInfo diff --git a/winsup/w32api/include/objbase.h b/winsup/w32api/include/objbase.h index fcf328ffa..144d52dae 100644 --- a/winsup/w32api/include/objbase.h +++ b/winsup/w32api/include/objbase.h @@ -39,6 +39,7 @@ #define STGM_NOSCRATCH 0x100000 #define STGM_CREATE 0x1000 #define STGM_CONVERT 0x20000 +#define STGM_NOSNAPSHOT 0x200000 #define STGM_FAILIFTHERE 0 #define CWCSTORAGENAME 32 #define ASYNC_MODE_COMPATIBILITY 1 @@ -180,6 +181,8 @@ WINOLEAPI_(ULONG) CoAddRefServerProcess(void); WINOLEAPI_(ULONG) CoReleaseServerProcess(void); WINOLEAPI CoResumeClassObjects(void); WINOLEAPI CoSuspendClassObjects(void); +WINOLEAPI CoGetPSClsid(REFIID,CLSID*); +WINOLEAPI CoRegisterPSClsid(REFIID,REFCLSID); #pragma pack(pop) #endif diff --git a/winsup/w32api/include/objidl.h b/winsup/w32api/include/objidl.h index 544b1720c..5dd99fdbb 100644 --- a/winsup/w32api/include/objidl.h +++ b/winsup/w32api/include/objidl.h @@ -465,10 +465,10 @@ DECLARE_INTERFACE_(IMarshal,IUnknown) STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; - STDMETHOD(GetUnmarshalClass) (THIS_ REFIID,DWORD,PVOID,DWORD,CLSID*) PURE; - STDMETHOD(GetMarshalSizeMax) (THIS_ REFIID,DWORD,PVOID,DWORD,PDWORD) PURE; - STDMETHOD(MarshalInterface) (THIS_ REFIID,DWORD,DWORD) PURE; - STDMETHOD(UnmarshalInterface) (THIS_ IStream*,void**) PURE; + STDMETHOD(GetUnmarshalClass) (THIS_ REFIID,PVOID,DWORD,PVOID,DWORD,CLSID*) PURE; + STDMETHOD(GetMarshalSizeMax) (THIS_ REFIID,PVOID,DWORD,PVOID,PDWORD,ULONG*) PURE; + STDMETHOD(MarshalInterface) (THIS_ IStream*,REFIID,PVOID,DWORD,PVOID,DWORD) PURE; + STDMETHOD(UnmarshalInterface) (THIS_ IStream*,REFIID,void**) PURE; STDMETHOD(ReleaseMarshalData) (THIS_ IStream*) PURE; STDMETHOD(DisconnectObject) (THIS_ DWORD) PURE; }; @@ -512,7 +512,7 @@ DECLARE_INTERFACE_(IMallocSpy,IUnknown) STDMETHOD_(void*,PostAlloc)(THIS_ void*) PURE; STDMETHOD_(void*,PreFree)(THIS_ void*,BOOL) PURE; STDMETHOD_(void,PostFree)(THIS_ BOOL) PURE; - STDMETHOD_(ULONG,PreRealloc)(THIS_ void*,ULONG,void*) PURE; + STDMETHOD_(ULONG,PreRealloc)(THIS_ void*,ULONG,void**,BOOL) PURE; STDMETHOD_(void*,PostRealloc)(THIS_ void*,BOOL) PURE; STDMETHOD_(void*,PreGetSize)(THIS_ void*,BOOL) PURE; STDMETHOD_(ULONG,PostGetSize)(THIS_ ULONG,BOOL) PURE; @@ -817,6 +817,7 @@ DECLARE_INTERFACE_(IPSFactoryBuffer,IUnknown) STDMETHOD(CreateProxy)(THIS_ LPUNKNOWN,REFIID,LPRPCPROXYBUFFER*,PVOID*) PURE; STDMETHOD(CreateStub)(THIS_ REFIID,LPUNKNOWN,LPRPCSTUBBUFFER*) PURE; }; +typedef interface IPSFactoryBuffer *LPPSFACTORYBUFFER; EXTERN_C const IID IID_ILockBytes; #undef INTERFACE @@ -1002,6 +1003,28 @@ DECLARE_INTERFACE_(ILayoutStorage,IUnknown) STDMETHOD(ReLayoutDocfile)(THIS_ OLECHAR*) PURE; }; +EXTERN_C const IID IID_IGlobalInterfaceTable; +#undef INTERFACE +#define INTERFACE IGlobalInterfaceTable +DECLARE_INTERFACE_(IGlobalInterfaceTable,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(RegisterInterfaceInGlobal)(THIS_ IUnknown*,REFIID,DWORD*) PURE; + STDMETHOD(RevokeInterfaceFromGlobal)(THIS_ DWORD) PURE; + STDMETHOD(GetInterfaceFromGlobal)(THIS_ DWORD,REFIID,void**) PURE; +}; + +#ifdef COBJMACROS +#define IGlobalInterfaceTable_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) +#define IGlobalInterfaceTable_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IGlobalInterfaceTable_Release(T) (T)->lpVtbl->Release(T) +#define IGlobalInterfaceTable_RegisterInterfaceInGlobal(T,a,b,c) (T)->lpVtbl->RegisterInterfaceInGlobal(T,a,b,c) +#define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(T,a) (T)->lpVtbl->RevokeInterfaceFromGlobal(T,a) +#define IGlobalInterfaceTable_GetInterfaceFromGlobal(T,a,b,c) (T)->lpVtbl->GetInterfaceFromGlobal(T,a,b,c) +#endif + HRESULT STDMETHODCALLTYPE IMarshal_GetUnmarshalClass_Proxy(IMarshal*,REFIID,void*,DWORD,void*,DWORD,CLSID*); void STDMETHODCALLTYPE IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); HRESULT STDMETHODCALLTYPE IMarshal_GetMarshalSizeMax_Proxy(IMarshal*,REFIID,void*,DWORD,void*,DWORD,DWORD*); @@ -1572,7 +1595,7 @@ HRESULT STDMETHODCALLTYPE ILockBytes_WriteAt_Stub(ILockBytes*,ULARGE_INTEGER,BYT #define IStorage_Release(This) (This)->lpVtbl->Release(This) #define IStorage_CreateStream(T,p,g,r1,r2,pp) (T)->lpVtbl->CreateStream(T,p,g,r1,r2,pp) #define IStorage_OpenStream(T,p,r1,g,r2,pp) (T)->lpVtbl->OpenStream(T,p,r1,g,r2,pp) -#define IStorage_CreateStorage(T,p,g,d,r2,pp) (This)->lpVtbl->CreateStorage(T,p,g,d,r2,pp) +#define IStorage_CreateStorage(T,p,g,d,r2,pp) (T)->lpVtbl->CreateStorage(T,p,g,d,r2,pp) #define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) (This)->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) #define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) (This)->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) #define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) (This)->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) @@ -1692,7 +1715,7 @@ HRESULT STDMETHODCALLTYPE ILockBytes_WriteAt_Stub(ILockBytes*,ULARGE_INTEGER,BYT #define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This) #define IRpcStubBuffer_Connect(This,p) (This)->lpVtbl->Connect(This,p) #define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This) -#define IRpcStubBuffer_Invoke(T,_prpcmsg,_p) (T)->lpVtbl->Invoke(This,_prpcmsg,_p) +#define IRpcStubBuffer_Invoke(T,_prpcmsg,_p) (T)->lpVtbl->Invoke(T,_prpcmsg,_p) #define IRpcStubBuffer_IsIIDSupported(T,d) (T)->lpVtbl->IsIIDSupported(T,d) #define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This) #define IRpcStubBuffer_DebugServerQueryInterface(T,p) (T)->lpVtbl->DebugServerQueryInterface(T,p) diff --git a/winsup/w32api/include/ocidl.h b/winsup/w32api/include/ocidl.h index 2bffff71e..3dbfac296 100644 --- a/winsup/w32api/include/ocidl.h +++ b/winsup/w32api/include/ocidl.h @@ -12,12 +12,14 @@ extern "C" { typedef interface IErrorLog *LPERRORLOG; typedef interface IPropertyBag *LPPROPERTYBAG; +typedef interface IPropertyBag2 *LPPROPERTYBAG2; typedef interface IEnumConnections *LPENUMCONNECTIONS; typedef interface IConnectionPoint *LPCONNECTIONPOINT; typedef interface IEnumConnectionPoints *LPENUMCONNECTIONPOINTS; typedef interface IPropertyPageSite *LPPROPERTYPAGESITE; typedef interface IFont *LPFONT; typedef interface IFontDisp *LPFONTDISP; +typedef interface IOleUndoManager *LPOLEUNDOMANAGER; #ifndef OLE2ANSI typedef TEXTMETRICW TEXTMETRICOLE; @@ -39,6 +41,63 @@ typedef enum tagREADYSTATE { READYSTATE_INTERACTIVE = 3, READYSTATE_COMPLETE = 4 } READYSTATE; +typedef enum tagPROPBAG2_TYPE { + PROPBAG2_TYPE_UNDEFINED = 0, + PROPBAG2_TYPE_DATA = 1, + PROPBAG2_TYPE_URL = 2, + PROPBAG2_TYPE_OBJECT = 3, + PROPBAG2_TYPE_STREAM = 4, + PROPBAG2_TYPE_STORAGE = 5, + PROPBAG2_TYPE_MONIKER = 6 +} PROPBAG2_TYPE; +typedef struct tagPROPBAG2 +{ + DWORD dwType; + VARTYPE vt; + CLIPFORMAT cfType; + DWORD dwHint; + LPOLESTR pstrName; + CLSID clsid; +} PROPBAG2; +enum tagQACONTAINERFLAGS +{ + QACONTAINER_SHOWHATCHING = 1, + QACONTAINER_SHOWGRABHANDLES = 2, + QACONTAINER_USERMODE = 4, + QACONTAINER_DISPLAYASDEFAULT = 8, + QACONTAINER_UIDEAD = 16, + QACONTAINER_AUTOCLIP = 32, + QACONTAINER_MESSAGEREFLECT = 64, + QACONTAINER_SUPPORTSMNEMONICS = 128 +} QACONTAINERFLAGS; +typedef struct tagQACONTAINER +{ + ULONG cbSize; + interface IOleClientSite *pClientSite; + interface IAdviseSinkEx *pAdviseSink; + interface IPropertyNotifySink *pPropertyNotifySink; + IUnknown *pUnkEventSink; + DWORD dwAmbientFlags; + OLE_COLOR colorFore; + OLE_COLOR colorBack; + interface IFont *pFont; + interface IOleUndoManager *pUndoMgr; + DWORD dwAppearance; + LONG lcid; + HPALETTE hpal; + interface IBindHost *pBindHost; + interface IOleControlSite *pOleControlSite; + interface IServiceProvider *pServiceProvider; +} QACONTAINER; +typedef struct tagQACONTROL +{ + ULONG cbSize; + DWORD dwMiscStatus; + DWORD dwViewStatus; + DWORD dwEventCookie; + DWORD dwPropNotifyCookie; + DWORD dwPointerActivationPolicy; +} QACONTROL; typedef struct tagPOINTF { float x; float y; @@ -158,6 +217,21 @@ DECLARE_INTERFACE_(IPropertyBag,IUnknown) STDMETHOD(Write)(THIS_ LPCOLESTR,LPVARIANT) PURE; }; +EXTERN_C const IID IID_IPropertyBag2; +#undef INTERFACE +#define INTERFACE IPropertyBag2 +DECLARE_INTERFACE_(IPropertyBag2,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Read)(THIS_ ULONG,PROPBAG2*,LPERRORLOG,VARIANT*,HRESULT*) PURE; + STDMETHOD(Write)(THIS_ ULONG,PROPBAG2*,VARIANT*) PURE; + STDMETHOD(CountProperties)(THIS_ ULONG*) PURE; + STDMETHOD(GetPropertyInfo)(THIS_ ULONG,ULONG,PROPBAG2*,ULONG*) PURE; + STDMETHOD(LoadObject)(THIS_ LPCOLESTR,DWORD,IUnknown*,LPERRORLOG) PURE; +}; + EXTERN_C const IID IID_IPersistPropertyBag; #undef INTERFACE #define INTERFACE IPersistPropertyBag @@ -182,6 +256,32 @@ DECLARE_INTERFACE_(IPersistPropertyBag,IPersist) #define IPersistPropertyBag_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c) #endif +EXTERN_C const IID IID_IPersistPropertyBag2; +#undef INTERFACE +#define INTERFACE IPersistPropertyBag2 +DECLARE_INTERFACE_(IPersistPropertyBag2,IPersist) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE; + STDMETHOD(InitNew)(THIS) PURE; + STDMETHOD(Load)(THIS_ LPPROPERTYBAG2,LPERRORLOG) PURE; + STDMETHOD(Save)(THIS_ LPPROPERTYBAG2,BOOL,BOOL) PURE; + STDMETHOD(IsDirty)(THIS) PURE; +}; + +#ifdef COBJMACROS +#define IPersistPropertyBag2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) +#define IPersistPropertyBag2_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IPersistPropertyBag2_Release(T) (T)->lpVtbl->Release(T) +#define IPersistPropertyBag2_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a) +#define IPersistPropertyBag2_InitNew(T) (T)->lpVtbl->InitNew(T) +#define IPersistPropertyBag2_Load(T,a,b) (T)->lpVtbl->Load(T,a,b) +#define IPersistPropertyBag2_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c) +#define IPersistPropertyBag2_IsDirty(T) (T)->lpVtbl->IsDirty(T) +#endif + EXTERN_C const IID IID_IPersistStreamInit; #undef INTERFACE #define INTERFACE IPersistStreamInit @@ -544,7 +644,6 @@ DECLARE_INTERFACE_(IOleInPlaceSiteEx,IOleInPlaceSite) STDMETHOD(DiscardUndoState)(THIS) PURE; STDMETHOD(DeactivateAndUndo)(THIS) PURE; STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE; - STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL*,DWORD) PURE; STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL) PURE; STDMETHOD(RequestUIActivate)(THIS) PURE; @@ -601,6 +700,117 @@ DECLARE_INTERFACE_(IOleInPlaceSiteWindowless,IOleInPlaceSiteEx) STDMETHOD(OnDefWindowMessage)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE; }; +EXTERN_C const IID IID_IAdviseSinkEx; +#undef INTERFACE +#define INTERFACE IAdviseSinkEx +DECLARE_INTERFACE_(IAdviseSinkEx,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE; + STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE; + STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE; + STDMETHOD_(void,OnSave)(THIS) PURE; + STDMETHOD_(void,OnClose)(THIS) PURE; + STDMETHOD(OnViewStatusChange)(THIS_ DWORD) PURE; +}; + +EXTERN_C const IID IID_IPointerInactive; +#undef INTERFACE +#define INTERFACE IPointerInactive +DECLARE_INTERFACE_(IPointerInactive,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetActivationPolicy)(THIS_ DWORD*) PURE; + STDMETHOD(OnInactiveMouseMove)(THIS_ LPCRECT,LONG,LONG,DWORD) PURE; + STDMETHOD(OnInactiveSetCursor)(THIS_ LPCRECT,LONG,LONG,DWORD,BOOL) PURE; +}; + +EXTERN_C const IID IID_IOleUndoUnit; +#undef INTERFACE +#define INTERFACE IOleUndoUnit +DECLARE_INTERFACE_(IOleUndoUnit,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Do)(THIS_ LPOLEUNDOMANAGER) PURE; + STDMETHOD(GetDescription)(THIS_ BSTR*) PURE; + STDMETHOD(GetUnitType)(THIS_ CLSID*,LONG*) PURE; + STDMETHOD(OnNextAdd)(THIS) PURE; +}; + +EXTERN_C const IID IID_IOleParentUndoUnit; +#undef INTERFACE +#define INTERFACE IOleParentUndoUnit +DECLARE_INTERFACE_(IOleParentUndoUnit,IOleUndoUnit) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Do)(THIS_ LPOLEUNDOMANAGER) PURE; + STDMETHOD(GetDescription)(THIS_ BSTR*) PURE; + STDMETHOD(GetUnitType)(THIS_ CLSID*,LONG*) PURE; + STDMETHOD(OnNextAdd)(THIS) PURE; + STDMETHOD(Open)(THIS_ IOleParentUndoUnit*) PURE; + STDMETHOD(Close)(THIS_ IOleParentUndoUnit*,BOOL) PURE; + STDMETHOD(Add)(THIS_ IOleUndoUnit*) PURE; + STDMETHOD(FindUnit)(THIS_ IOleUndoUnit*) PURE; + STDMETHOD(GetParentState)(THIS_ DWORD*) PURE; +}; + +EXTERN_C const IID IID_IEnumOleUndoUnits; +#undef INTERFACE +#define INTERFACE IEnumOleUndoUnits +DECLARE_INTERFACE_(IEnumOleUndoUnits,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Next)(THIS_ ULONG,IOleUndoUnit**,ULONG*) PURE; + STDMETHOD(Skip)(THIS_ ULONG) PURE; + STDMETHOD(Reset)(THIS) PURE; + STDMETHOD(Clone)(THIS_ IEnumOleUndoUnits**) PURE; +}; + +EXTERN_C const IID IID_IOleUndoManager; +#undef INTERFACE +#define INTERFACE IOleUndoManager +DECLARE_INTERFACE_(IOleUndoManager,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Open)(THIS_ IOleParentUndoUnit*) PURE; + STDMETHOD(Close)(THIS_ IOleParentUndoUnit*,BOOL) PURE; + STDMETHOD(Add)(THIS_ IOleUndoUnit*) PURE; + STDMETHOD(GetOpenParentState)(THIS_ DWORD*) PURE; + STDMETHOD(DiscardFrom)(THIS_ IOleUndoUnit*) PURE; + STDMETHOD(UndoTo)(THIS_ IOleUndoUnit*) PURE; + STDMETHOD(RedoTo)(THIS_ IOleUndoUnit*) PURE; + STDMETHOD(EnumUndoable)(THIS_ IEnumOleUndoUnits**) PURE; + STDMETHOD(EnumRedoable)(THIS_ IEnumOleUndoUnits**) PURE; + STDMETHOD(GetLastUndoDescription)(THIS_ BSTR*) PURE; + STDMETHOD(GetLastRedoDescription)(THIS_ BSTR*) PURE; + STDMETHOD(Enable)(THIS_ BOOL) PURE; +}; + +EXTERN_C const IID IID_IQuickActivate; +#undef INTERFACE +#define INTERFACE IQuickActivate +DECLARE_INTERFACE_(IQuickActivate,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(QuickActivate)(THIS_ QACONTAINER*,QACONTROL*) PURE; + STDMETHOD(SetContentExtent)(THIS_ LPSIZEL) PURE; + STDMETHOD(GetContentExtent)(THIS_ LPSIZEL) PURE; +}; + #ifdef __cplusplus } #endif diff --git a/winsup/w32api/include/oleidl.h b/winsup/w32api/include/oleidl.h index f3a38d520..0043c878f 100644 --- a/winsup/w32api/include/oleidl.h +++ b/winsup/w32api/include/oleidl.h @@ -12,7 +12,7 @@ extern "C" { #define MK_ALT 32 -typedef interface IParseDisplayname *LPPARSEDISPLAYNAME; +typedef interface IParseDisplayName *LPPARSEDISPLAYNAME; typedef interface IOleContainer *LPOLECONTAINER; typedef interface IOleClientSite *LPOLECLIENTSITE; typedef interface IOleObject *LPOLEOBJECT; @@ -31,6 +31,12 @@ typedef interface IOleCache *LPOLECACHE; typedef interface IOleCache2 *LPOLECACHE2; typedef interface IOleCacheControl *LPOLECACHECONTROL; +typedef enum tagBINDSPEED +{ + BINDSPEED_INDEFINITE=1, + BINDSPEED_MODERATE, + BINDSPEED_IMMEDIATE +} BINDSPEED; typedef enum tagOLEWHICHMK { OLEWHICHMK_CONTAINER=1, OLEWHICHMK_OBJREL, @@ -98,6 +104,13 @@ DECLARE_INTERFACE_(IParseDisplayName,IUnknown) STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE; }; +#ifdef COBJMACROS +#define IParseDisplayName_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) +#define IParseDisplayName_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IParseDisplayName_Release(T) (T)->lpVtbl->Release(T) +#define IParseDisplayName_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d) +#endif + EXTERN_C const IID IID_IOleContainer; #undef INTERFACE #define INTERFACE IOleContainer @@ -127,6 +140,18 @@ DECLARE_INTERFACE_(IOleItemContainer,IOleContainer) STDMETHOD(IsRunning)(THIS_ LPOLESTR) PURE; }; +#ifdef COBJMACROS +#define IOleItemContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) +#define IOleItemContainer_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IOleItemContainer_Release(T) (T)->lpVtbl->Release(T) +#define IOleItemContainer_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d) +#define IOleItemContainer_EnumObjects(T,a,b) (T)->lpVtbl->EnumObjects(T,a,b) +#define IOleItemContainer_LockContainer(T,a) (T)->lpVtbl->LockContainer(T,a) +#define IOleItemContainer_GetObject(T,a,b,c,d,e) (T)->lpVtbl->GetObject(T,a,b,c,d,e) +#define IOleItemContainer_GetObjectStorage(T,a,b,c,d) (T)->lpVtbl->GetObjectStorage(T,a,b,c,d) +#define IOleItemContainer_IsRunning(T,a) (T)->lpVtbl->IsRunning(T,a) +#endif + EXTERN_C const IID IID_IOleClientSite; #undef INTERFACE #define INTERFACE IOleClientSite @@ -186,6 +211,33 @@ DECLARE_INTERFACE_(IOleObject,IUnknown) STDMETHOD(SetColorScheme)(THIS_ LPLOGPALETTE) PURE; }; +#ifdef COBJMACROS +#define IOleObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) +#define IOleObject_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IOleObject_Release(T) (T)->lpVtbl->Release(T) +#define IOleObject_SetClientSite(T,a) (T)->lpVtbl->SetClientSite(T,a) +#define IOleObject_GetClientSite(T,a) (T)->lpVtbl->GetClientSite(T,a) +#define IOleObject_SetHostNames(T,a,b) (T)->lpVtbl->SetHostNames(T,a,b) +#define IOleObject_Close(T,a) (T)->lpVtbl->Close(T,a) +#define IOleObject_SetMoniker(T,a,b) (T)->lpVtbl->SetMoniker(T,a,b) +#define IOleObject_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c) +#define IOleObject_InitFromData(T,a,b,c) (T)->lpVtbl->InitFromData(T,a,b,c) +#define IOleObject_GetClipboardData(T,a,b) (T)->lpVtbl->GetClipboardData(T,a,b) +#define IOleObject_DoVerb(T,a,b,c,d,e,f) (T)->lpVtbl->DoVerb(T,a,b,c,d,e,f) +#define IOleObject_EnumVerbs(T,a) (T)->lpVtbl->EnumVerbs(T,a) +#define IOleObject_Update(T) (T)->lpVtbl->Update(T) +#define IOleObject_IsUpToDate(T) (T)->lpVtbl->IsUpToDate(T) +#define IOleObject_GetUserClassID(T,a) (T)->lpVtbl->GetUserClassID(T,a) +#define IOleObject_GetUserType(T,a,b) (T)->lpVtbl->GetUserType(T,a,b) +#define IOleObject_SetExtent(T,a,b) (T)->lpVtbl->SetExtent(T,a,b) +#define IOleObject_GetExtent(T,a,b) (T)->lpVtbl->GetExtent(T,a,b) +#define IOleObject_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b) +#define IOleObject_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a) +#define IOleObject_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a) +#define IOleObject_GetMiscStatus(T,a,b) (T)->lpVtbl->GetMiscStatus(T,a,b) +#define IOleObject_SetColorScheme(T,a) (T)->lpVtbl->SetColorScheme(T,a) +#endif + EXTERN_C const IID IID_IOleWindow; #undef INTERFACE #define INTERFACE IOleWindow @@ -357,6 +409,14 @@ DECLARE_INTERFACE_(IDropSource,IUnknown) STDMETHOD(GiveFeedback)(THIS_ DWORD) PURE; }; +#ifdef COBJMACROS +#define IDropSource_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) +#define IDropSource_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IDropSource_Release(T) (T)->lpVtbl->Release(T) +#define IDropSource_QueryContinueDrag(T,a,b) (T)->lpVtbl->QueryContinueDrag(T,a,b) +#define IDropSource_GiveFeedback(T,a) (T)->lpVtbl->GiveFeedback(T,a) +#endif + EXTERN_C const IID IID_IDropTarget; #undef INTERFACE #define INTERFACE IDropTarget @@ -371,6 +431,16 @@ DECLARE_INTERFACE_(IDropTarget,IUnknown) STDMETHOD(Drop)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE; }; +#ifdef COBJMACROS +#define IDropTarget_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) +#define IDropTarget_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IDropTarget_Release(T) (T)->lpVtbl->Release(T) +#define IDropTarget_DragEnter(T,a,b,c,d) (T)->lpVtbl->DragEnter(T,a,b,c,d) +#define IDropTarget_DragOver(T,a,b,c) (T)->lpVtbl->DragOver(T,a,b,c) +#define IDropTarget_DragLeave(T) (T)->lpVtbl->DragLeave(T) +#define IDropTarget_Drop(T,a,b,c,d) (T)->lpVtbl->Drop(T,a,b,c,d) +#endif + typedef BOOL(CALLBACK *__IView_pfncont)(DWORD); EXTERN_C const IID IID_IViewObject; #undef INTERFACE diff --git a/winsup/w32api/include/winerror.h b/winsup/w32api/include/winerror.h index 93fc2fa14..42e8bce99 100644 --- a/winsup/w32api/include/winerror.h +++ b/winsup/w32api/include/winerror.h @@ -2079,6 +2079,7 @@ #define MEM_E_INVALID_ROOT ((HRESULT)0x80080009L) #define MEM_E_INVALID_LINK ((HRESULT)0x80080010L) #define MEM_E_INVALID_SIZE ((HRESULT)0x80080011L) +#define CO_S_NOTALLINTERFACES ((HRESULT)0x00080012L) #define DISP_E_UNKNOWNINTERFACE ((HRESULT)0x80020001L) #define DISP_E_MEMBERNOTFOUND ((HRESULT)0x80020003L) #define DISP_E_PARAMNOTFOUND ((HRESULT)0x80020004L) diff --git a/winsup/w32api/include/wtypes.h b/winsup/w32api/include/wtypes.h index f9409a894..612b8dc97 100644 --- a/winsup/w32api/include/wtypes.h +++ b/winsup/w32api/include/wtypes.h @@ -41,17 +41,19 @@ typedef enum tagSTATFLAG { STATFLAG_NONAME=1 } STATFLAG; typedef enum tagMEMCTX { - MEMCTX_TASK=1, + MEMCTX_LOCAL=0, + MEMCTX_TASK, MEMCTX_SHARED, MEMCTX_MACSYSTEM, MEMCTX_UNKNOWN=-1, MEMCTX_SAME=-2 } MEMCTX; typedef enum tagMSHCTX { - MSHCTX_LOCAL, + MSHCTX_LOCAL=0, MSHCTX_NOSHAREDMEM, MSHCTX_DIFFERENTMACHINE, - MSHCTX_INPROC + MSHCTX_INPROC, + MSHCTX_CROSSCTX } MSHCTX; typedef enum tagCLSCTX { CLSCTX_INPROC_SERVER=1,CLSCTX_INPROC_HANDLER=2,CLSCTX_LOCAL_SERVER=4, |