Skip to content
Snippets Groups Projects
Commit 557ff419 authored by Noel Borthwick's avatar Noel Borthwick Committed by Alexandre Julliard
Browse files

Implemented the OLE Clipboard API.

parent 8beefb51
No related branches found
No related tags found
No related merge requests found
...@@ -62,6 +62,7 @@ HRESULT WINAPI OleSetContainedObject(LPUNKNOWN pUnknown, BOOL fContained); ...@@ -62,6 +62,7 @@ HRESULT WINAPI OleSetContainedObject(LPUNKNOWN pUnknown, BOOL fContained);
HRESULT WINAPI OleQueryLinkFromData(IDataObject* pSrcDataObject); HRESULT WINAPI OleQueryLinkFromData(IDataObject* pSrcDataObject);
HRESULT WINAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject); HRESULT WINAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject);
HRESULT WINAPI OleRun(LPUNKNOWN pUnknown); HRESULT WINAPI OleRun(LPUNKNOWN pUnknown);
VOID WINAPI ReleaseStgMedium(LPSTGMEDIUM);
HRESULT WINAPI OleGetClipboard(IDataObject** ppDataObj); HRESULT WINAPI OleGetClipboard(IDataObject** ppDataObj);
HRESULT WINAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid, HRESULT WINAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid,
DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
......
...@@ -296,6 +296,16 @@ extern int WIN32_LastError; ...@@ -296,6 +296,16 @@ extern int WIN32_LastError;
#define TYPE_E_ELEMENTNOTFOUND 0x8002802BL #define TYPE_E_ELEMENTNOTFOUND 0x8002802BL
#define TYPE_E_CANTLOADLIBRARY 0x80029C4AL #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 */ /* Drag and Drop */
#define DRAGDROP_S_DROP 0x00040100L #define DRAGDROP_S_DROP 0x00040100L
...@@ -350,6 +360,8 @@ extern int WIN32_LastError; ...@@ -350,6 +360,8 @@ extern int WIN32_LastError;
#define DV_E_FORMATETC 0x80040064 #define DV_E_FORMATETC 0x80040064
#define DV_E_DVASPECT 0x8004006B #define DV_E_DVASPECT 0x8004006B
#define DV_E_LINDEX 0x80040068
#define DV_E_TYMED 0x80040069
#define CLASS_E_NOAGGREGATION 0x80040110 #define CLASS_E_NOAGGREGATION 0x80040110
#define CLASS_E_CLASSNOTAVAILABLE 0x80040111 #define CLASS_E_CLASSNOTAVAILABLE 0x80040111
......
...@@ -8,6 +8,7 @@ MODULE = ole ...@@ -8,6 +8,7 @@ MODULE = ole
C_SRCS = \ C_SRCS = \
antimoniker.c \ antimoniker.c \
bindctx.c \ bindctx.c \
clipboard.c\
compobj.c \ compobj.c \
compositemoniker.c \ compositemoniker.c \
datacache.c \ datacache.c \
......
This diff is collapsed.
...@@ -106,6 +106,12 @@ BOOL OLEMenu_SetIsServerMenu( HMENU hmenu, OleMenuDescriptor *pOleMenuDescriptor ...@@ -106,6 +106,12 @@ BOOL OLEMenu_SetIsServerMenu( HMENU hmenu, OleMenuDescriptor *pOleMenuDescriptor
LRESULT CALLBACK OLEMenu_CallWndProc(INT code, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK OLEMenu_CallWndProc(INT code, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK OLEMenu_GetMsgProc(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 * These are the prototypes of the utility methods used for OLE Drag n Drop
*/ */
...@@ -178,6 +184,11 @@ HRESULT WINAPI OleInitialize(LPVOID reserved) ...@@ -178,6 +184,11 @@ HRESULT WINAPI OleInitialize(LPVOID reserved)
*/ */
TRACE("() - Initializing the OLE libraries\n"); TRACE("() - Initializing the OLE libraries\n");
/*
* OLE Clipboard
*/
OLEClipbrd_Initialize();
/* /*
* Drag and Drop * Drag and Drop
*/ */
...@@ -229,6 +240,11 @@ void WINAPI OleUninitialize(void) ...@@ -229,6 +240,11 @@ void WINAPI OleUninitialize(void)
*/ */
TRACE("() - Freeing the last reference count\n"); TRACE("() - Freeing the last reference count\n");
/*
* OLE Clipboard
*/
OLEClipbrd_UnInitialize();
/* /*
* Drag and Drop * Drag and Drop
*/ */
...@@ -246,23 +262,6 @@ void WINAPI OleUninitialize(void) ...@@ -246,23 +262,6 @@ void WINAPI OleUninitialize(void)
CoUninitialize(); 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] * CoRegisterMessageFilter32 [OLE32.38]
*/ */
...@@ -812,21 +811,6 @@ HRESULT WINAPI OleSave( ...@@ -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 * Internal methods to manage the shared OLE menu in response to the
* OLE***MenuDescriptor API * OLE***MenuDescriptor API
......
...@@ -18,7 +18,7 @@ HRESULT WINAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj, REFIID riid, ...@@ -18,7 +18,7 @@ HRESULT WINAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
LPVOID* ppvObj) LPVOID* ppvObj)
{ {
FIXME("(%p,%p,%li,%p,%p,%p,%p), stub!\n", pSrcDataObj,riid,renderopt,pFormatEtc,pClientSite,pStg,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;
} }
...@@ -93,15 +93,6 @@ HRESULT WINAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert) ...@@ -93,15 +93,6 @@ HRESULT WINAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert)
return S_OK; return S_OK;
} }
/******************************************************************************
* OleFlushClipboard [OLE32.103]
*/
HRESULT WINAPI OleFlushClipboard()
{
FIXME("(), stub!\n");
return S_OK;
}
/****************************************************************************** /******************************************************************************
* OleCreate [OLE32.80] * OleCreate [OLE32.80]
*/ */
...@@ -156,7 +147,7 @@ HGLOBAL WINAPI OleGetIconOfClass(REFCLSID rclsid, LPOLESTR lpszLabel, BOOL fUseT ...@@ -156,7 +147,7 @@ HGLOBAL WINAPI OleGetIconOfClass(REFCLSID rclsid, LPOLESTR lpszLabel, BOOL fUseT
HRESULT WINAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject) HRESULT WINAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject)
{ {
FIXME("(%p), stub!\n", pSrcDataObject); FIXME("(%p), stub!\n", pSrcDataObject);
return S_OK; return S_FALSE;
} }
/****************************************************************************** /******************************************************************************
......
...@@ -239,13 +239,3 @@ OLESTATUS WINAPI OleCreateFromClip( ...@@ -239,13 +239,3 @@ OLESTATUS WINAPI OleCreateFromClip(
return OLE_OK; 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;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment