Implemented the OLE Clipboard API.

This commit is contained in:
Noel Borthwick 1999-07-18 15:43:45 +00:00 committed by Alexandre Julliard
parent 8beefb51bf
commit 557ff419be
7 changed files with 1655 additions and 53 deletions

View File

@ -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,

View File

@ -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

View File

@ -8,6 +8,7 @@ MODULE = ole
C_SRCS = \
antimoniker.c \
bindctx.c \
clipboard.c\
compobj.c \
compositemoniker.c \
datacache.c \

1623
ole/clipboard.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -106,6 +106,12 @@ BOOL OLEMenu_SetIsServerMenu( HMENU hmenu, OleMenuDescriptor *pOleMenuDescriptor
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
*/
@ -178,6 +184,11 @@ HRESULT WINAPI OleInitialize(LPVOID reserved)
*/
TRACE("() - Initializing the OLE libraries\n");
/*
* OLE Clipboard
*/
OLEClipbrd_Initialize();
/*
* Drag and Drop
*/
@ -229,6 +240,11 @@ void WINAPI OleUninitialize(void)
*/
TRACE("() - Freeing the last reference count\n");
/*
* OLE Clipboard
*/
OLEClipbrd_UnInitialize();
/*
* Drag and Drop
*/
@ -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

View File

@ -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;
}
@ -93,15 +93,6 @@ HRESULT WINAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert)
return S_OK;
}
/******************************************************************************
* OleFlushClipboard [OLE32.103]
*/
HRESULT WINAPI OleFlushClipboard()
{
FIXME("(), stub!\n");
return S_OK;
}
/******************************************************************************
* OleCreate [OLE32.80]
*/
@ -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;
}
/******************************************************************************

View File

@ -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;
}