[OLE32] Sync with Wine Staging 2.9. CORE-13362
[reactos.git] / reactos / dll / win32 / ole32 / compobj_private.h
index 44f3094..7a18c83 100644 (file)
@@ -286,6 +286,10 @@ extern HRESULT WINAPI OLE32_DllUnregisterServer(void) DECLSPEC_HIDDEN;
 extern HRESULT Handler_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) DECLSPEC_HIDDEN;
 extern HRESULT HandlerCF_Create(REFCLSID rclsid, REFIID riid, LPVOID *ppv) DECLSPEC_HIDDEN;
 
+extern HRESULT WINAPI GlobalOptions_CreateInstance(IClassFactory *iface, IUnknown *pUnk,
+                                                   REFIID riid, void **ppv) DECLSPEC_HIDDEN;
+extern IClassFactory GlobalOptionsCF DECLSPEC_HIDDEN;
+
 /* Exported non-interface Data Advise Holder functions */
 HRESULT DataAdviseHolder_OnConnect(IDataAdviseHolder *iface, IDataObject *pDelegate) DECLSPEC_HIDDEN;
 void DataAdviseHolder_OnDisconnect(IDataAdviseHolder *iface) DECLSPEC_HIDDEN;
@@ -319,4 +323,19 @@ static inline BOOL heap_free(void *mem)
     return HeapFree(GetProcessHeap(), 0, mem);
 }
 
+static inline HRESULT copy_formatetc(FORMATETC *dst, const FORMATETC *src)
+{
+    *dst = *src;
+    if (src->ptd)
+    {
+        dst->ptd = CoTaskMemAlloc( src->ptd->tdSize );
+        if (!dst->ptd) return E_OUTOFMEMORY;
+        memcpy( dst->ptd, src->ptd, src->ptd->tdSize );
+    }
+    return S_OK;
+}
+
+extern HRESULT EnumSTATDATA_Construct(IUnknown *holder, ULONG index, DWORD array_len, STATDATA *data,
+                                      BOOL copy, IEnumSTATDATA **ppenum) DECLSPEC_HIDDEN;
+
 #endif /* __WINE_OLE_COMPOBJ_H */