Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2004-01-04 01:12:35 +0300
committerDanny Smith <dannysmith@users.sourceforge.net>2004-01-04 01:12:35 +0300
commitb01201ec32169c6b2889e1c4dd24a4a71ad16bbd (patch)
tree9b2b37a7f2d721d6fc417d79f8b7fa8c6f383952 /winsup
parent0efff769fde31941788e77bdeac1d7fdd2e19088 (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')
-rw-r--r--winsup/w32api/ChangeLog34
-rw-r--r--winsup/w32api/include/cguid.h1
-rw-r--r--winsup/w32api/include/oaidl.h81
-rw-r--r--winsup/w32api/include/objbase.h3
-rw-r--r--winsup/w32api/include/objidl.h37
-rw-r--r--winsup/w32api/include/ocidl.h212
-rw-r--r--winsup/w32api/include/oleidl.h72
-rw-r--r--winsup/w32api/include/winerror.h1
-rw-r--r--winsup/w32api/include/wtypes.h8
-rw-r--r--winsup/w32api/lib/uuid.c5
10 files changed, 442 insertions, 12 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index 9278e45aa..7c82a67e6 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -1,3 +1,37 @@
+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 enum.
+ * include/winerror.h (CO_S_NOTALLINTERFACES): Add define.
+ * lib/uuid.c (IID_IGlobalInterfaceTable, IID_IOleUndoManager,
+ IID_IPersistPropertyBag2, IID_IPropertyBag2, IID_IRpcProxyBuffer):
+ Add IID definitions.
+
2004-01-02 Filip Navara <xnavara@volny.cz>
* include/ddk/winddk.h: Don't care about value of
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,
diff --git a/winsup/w32api/lib/uuid.c b/winsup/w32api/lib/uuid.c
index ee2bf1d5b..33461ae54 100644
--- a/winsup/w32api/lib/uuid.c
+++ b/winsup/w32api/lib/uuid.c
@@ -173,6 +173,7 @@ DEFINE_GUID(IID_IFillLockBytes,0x99caf010,0x415e,0x11cf,0x88,0x14,0,0xaa,0,0xb5,
DEFINE_GUID(IID_IFilter,0x89bcb740,0x6119,0x101a,0xbc,0xb7,0,0xdd,0x1,0x6,0x55,0xaf);
DEFINE_GUID(IID_IFont,0xbef6e002,0xa874,0x101a,0x8b,0xba,0,0xaa,0,0x30,0xc,0xab);
DEFINE_GUID(IID_IFontDisp,0xbef6e003,0xa874,0x101a,0x8b,0xba,0,0xaa,0,0x30,0xc,0xab);
+DEFINE_GUID(IID_IGlobalInterfaceTable,0x146,0,0,0xc0,0,0,0,0,0,0,0x46);
DEFINE_GUID(IID_IHlink,0x79eac9c3,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
DEFINE_GUID(IID_IHlinkBrowseContext,0x79eac9c7,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
DEFINE_GUID(IID_IHlinkFrame,0x79eac9c5,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
@@ -219,6 +220,7 @@ DEFINE_GUID(IID_IOleObject,0x112,0,0,0xc0,0,0,0,0,0,0,0x46);
DEFINE_GUID(IID_IOleParentUndoUnit,0xa1faf330,0xef97,0x11ce,0x9b,0xc9,0,0xaa,0,0x60,0x8e,0x1);
DEFINE_GUID(IID_IOlePresObj,0x120,0,0,0xc0,0,0,0,0,0,0,0x46);
DEFINE_GUID(IID_IOleUndoManager00,0x97d001f2,0xceef,0x9b11,0xc9,0,0xaa,0,0x60,0x8e,0x1,0);
+DEFINE_GUID(IID_IOleUndoManager,0xd001f200,0xef97,0x11ce,0x9b,0xc9,0,0xaa,0,0x60,0x8e,0x1);
DEFINE_GUID(IID_IOleUndoUnit,0x894ad3b0,0xef97,0x11ce,0x9b,0xc9,0,0xaa,0,0x60,0x8e,0x1);
DEFINE_GUID(IID_IOleWindow,0x114,0,0,0xc0,0,0,0,0,0,0,0x46);
DEFINE_GUID(IID_IOverlappedCompletion,0x521a28f0,0xe40b,0x11ce,0xb2,0xc9,0,0xaa,0,0x68,0x9,0x37);
@@ -232,6 +234,7 @@ DEFINE_GUID(IID_IPersistFile,0x10b,0,0,0xc0,0,0,0,0,0,0,0x46);
DEFINE_GUID(IID_IPersistMemory,0xbd1ae5e0,0xa6ae,0x11ce,0xbd,0x37,0x50,0x42,0,0xc1,0,0);
DEFINE_GUID(IID_IPersistMoniker,0x79eac9c9,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0x0b);
DEFINE_GUID(IID_IPersistPropertyBag,0x37d84f60,0x42cb,0x11ce,0x81,0x35,0,0xaa,0,0x4b,0xb8,0x51);
+DEFINE_GUID(IID_IPersistPropertyBag2,0x22f55881,0x280b,0x11d0,0xa8,0xa9,0,0xa0,0xc9,0xc,0x20,4);
DEFINE_OLEGUID(IID_IPersistStorage,0x0000010a,0,0);
DEFINE_GUID(IID_IPersistStream,0x109,0,0,0xc0,0,0,0,0,0,0,0x46);
DEFINE_GUID(IID_IPersistStreamInit,0x7fd52380,0x4e07,0x101b,0xae,0x2d,0x8,0,0x2b,0x2e,0xc7,0x13);
@@ -241,6 +244,7 @@ DEFINE_GUID(IID_IPointerInactive,0x55980ba0,0x35aa,0x11cf,0xb6,0x71,0,0xaa,0,0x4
DEFINE_GUID(IID_IPrint,0xb722bcc9,0x4e68,0x101b,0xa2,0xbc,0,0xaa,0,0x40,0x47,0x70);
DEFINE_GUID(IID_IProgressNotify,0xa9d758a0,0x4617,0x11cf,0x95,0xfc,0,0xaa,0,0x68,0xd,0xb4);
DEFINE_GUID(IID_IPropertyBag,0x55272a00,0x42cb,0x11ce,0x81,0x35,0,0xaa,0,0x4b,0xb8,0x51);
+DEFINE_GUID(IID_IPropertyBag2,0x22f55882,0x280b,0x11d0,0xa8,0xa9,0,0xa0,0xc9,0xc,0x20,4);
DEFINE_GUID(IID_IPropertyFrame,0xb196b28a,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
DEFINE_GUID(IID_IPropertyNotifySink,0x9bfbbc02,0xeff1,0x101a,0x84,0xed,0,0xaa,0,0x34,0x1d,0x7);
DEFINE_GUID(IID_IPropertyPage,0xb196b28d,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
@@ -260,6 +264,7 @@ DEFINE_GUID(IID_IRootStorage,0x12,0,0,0xc0,0,0,0,0,0,0,0x46);
DEFINE_GUID(IID_IRpcChannel,0x4,0,0,0xc0,0,0,0,0,0,0,0x46);
DEFINE_GUID(IID_IRpcChannelBuffer,0xd5f56b60,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a);
DEFINE_GUID(IID_IRpcProxy,0x7,0,0,0xc0,0,0,0,0,0,0,0x46);
+DEFINE_GUID(IID_IRpcProxyBuffer,0xd5f56a34,0x593b,0x101a,0xb5,0x69,8,0,0x2b,0x2d,0xbf,0x7a);
DEFINE_GUID(IID_IRpcProxyBuffer34,0x3bd5f56a,0x1a59,0xb510,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a,0);
DEFINE_GUID(IID_IRpcStub,0x5,0,0,0xc0,0,0,0,0,0,0,0x46);
DEFINE_GUID(IID_IRpcStubBuffer,0xd5f56afc,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a);