Commit 557ff419 authored by Noel Borthwick's avatar Noel Borthwick Committed by Alexandre Julliard

Implemented the OLE Clipboard API.

parent 8beefb51
......@@ -62,6 +62,7 @@ HRESULT WINAPI OleSetContainedObject(LPUNKNOWN pUnknown, BOOL fContained);
HRESULT WINAPI OleQueryLinkFromData(IDataObject* pSrcDataObject);
HRESULT WINAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject);
HRESULT WINAPI OleRun(LPUNKNOWN pUnknown);
VOID WINAPI ReleaseStgMedium(LPSTGMEDIUM);
HRESULT WINAPI OleGetClipboard(IDataObject** ppDataObj);
HRESULT WINAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid,
DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
......
......@@ -296,6 +296,16 @@ extern int WIN32_LastError;
#define TYPE_E_ELEMENTNOTFOUND 0x8002802BL
#define TYPE_E_CANTLOADLIBRARY 0x80029C4AL
/* OLE Clipboard */
#define CLIPBRD_E_FIRST 0x800401D0L
#define CLIPBRD_E_LAST 0x800401DFL
#define CLIPBRD_S_FIRST 0x000401D0L
#define CLIPBRD_S_LAST 0x000401DFL
#define CLIPBRD_E_CANT_OPEN 0x800401D0L
#define CLIPBRD_E_CANT_EMPTY 0x800401D1L
#define CLIPBRD_E_CANT_SET 0x800401D2L
#define CLIPBRD_E_BAD_DATA 0x800401D3L
#define CLIPBRD_E_CANT_CLOSE 0x800401D4L
/* Drag and Drop */
#define DRAGDROP_S_DROP 0x00040100L
......@@ -350,6 +360,8 @@ extern int WIN32_LastError;
#define DV_E_FORMATETC 0x80040064
#define DV_E_DVASPECT 0x8004006B
#define DV_E_LINDEX 0x80040068
#define DV_E_TYMED 0x80040069
#define CLASS_E_NOAGGREGATION 0x80040110
#define CLASS_E_CLASSNOTAVAILABLE 0x80040111
......
......@@ -8,6 +8,7 @@ MODULE = ole
C_SRCS = \
antimoniker.c \
bindctx.c \
clipboard.c\
compobj.c \
compositemoniker.c \
datacache.c \
......
This diff is collapsed. Click to expand it.
......@@ -107,6 +107,12 @@ LRESULT CALLBACK OLEMenu_CallWndProc(INT code, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK OLEMenu_GetMsgProc(INT code, WPARAM wParam, LPARAM lParam);
/******************************************************************************
* These are the prototypes of the OLE Clipboard initialization methods (in clipboard.c)
*/
void OLEClipbrd_UnInitialize();
void OLEClipbrd_Initialize();
/******************************************************************************
* These are the prototypes of the utility methods used for OLE Drag n Drop
*/
static void OLEDD_Initialize();
......@@ -179,6 +185,11 @@ HRESULT WINAPI OleInitialize(LPVOID reserved)
TRACE("() - Initializing the OLE libraries\n");
/*
* OLE Clipboard
*/
OLEClipbrd_Initialize();
/*
* Drag and Drop
*/
OLEDD_Initialize();
......@@ -230,6 +241,11 @@ void WINAPI OleUninitialize(void)
TRACE("() - Freeing the last reference count\n");
/*
* OLE Clipboard
*/
OLEClipbrd_UnInitialize();
/*
* Drag and Drop
*/
OLEDD_UnInitialize();
......@@ -246,23 +262,6 @@ void WINAPI OleUninitialize(void)
CoUninitialize();
}
/***********************************************************************
* OleFlushClipboard [OLE2.76]
*/
HRESULT WINAPI OleFlushClipboard16(void)
{
return S_OK;
}
/***********************************************************************
* OleSetClipboard [OLE32.127]
*/
HRESULT WINAPI OleSetClipboard(LPVOID pDataObj)
{
FIXME("(%p), stub!\n", pDataObj);
return S_OK;
}
/******************************************************************************
* CoRegisterMessageFilter32 [OLE32.38]
*/
......@@ -812,21 +811,6 @@ HRESULT WINAPI OleSave(
}
/***********************************************************************
* OleGetClipboard32 [OLE32.105]
*/
HRESULT WINAPI OleGetClipboard(
IDataObject** ppDataObj)
{
FIXME("(%p),stub!\n", ppDataObj);
if (ppDataObj)
*ppDataObj=0;
return E_FAIL;
}
/**************************************************************************
* Internal methods to manage the shared OLE menu in response to the
* OLE***MenuDescriptor API
......
......@@ -18,7 +18,7 @@ HRESULT WINAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
LPVOID* ppvObj)
{
FIXME("(%p,%p,%li,%p,%p,%p,%p), stub!\n", pSrcDataObj,riid,renderopt,pFormatEtc,pClientSite,pStg,ppvObj);
return S_OK;
return DV_E_FORMATETC;
}
......@@ -94,15 +94,6 @@ HRESULT WINAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert)
}
/******************************************************************************
* OleFlushClipboard [OLE32.103]
*/
HRESULT WINAPI OleFlushClipboard()
{
FIXME("(), stub!\n");
return S_OK;
}
/******************************************************************************
* OleCreate [OLE32.80]
*/
HRESULT WINAPI OleCreate(REFCLSID rclsid, REFIID riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
......@@ -156,7 +147,7 @@ HGLOBAL WINAPI OleGetIconOfClass(REFCLSID rclsid, LPOLESTR lpszLabel, BOOL fUseT
HRESULT WINAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject)
{
FIXME("(%p), stub!\n", pSrcDataObject);
return S_OK;
return S_FALSE;
}
/******************************************************************************
......
......@@ -239,13 +239,3 @@ OLESTATUS WINAPI OleCreateFromClip(
return OLE_OK;
}
/***********************************************************************
* OleIsCurrentClipboard32 [OLE32.110]
*/
HRESULT WINAPI OleIsCurrentClipboard (
IDataObject *pDataObject) /* ptr to the data obj previously copied or cut */
{
FIXME("(DataObject %p): stub!\n", pDataObject);
return S_FALSE;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment