VBoxClipboard.cpp revision 240f7d7012a5f64bcde850bcf048531a710d81cf
2N/A * available from http://www.virtualbox.org. This file is free software;
2N/A * Clara, CA 95054 USA or visit http://www.sun.com if you need
2N/A#include "VBoxTray.h"
2N/Atypedef struct _VBOXCLIPBOARDCONTEXT
NULL))
NULL);
return VINF_SUCCESS;
return VERR_INVALID_PARAMETER;
NULL))
return VINF_SUCCESS;
return VERR_NOT_SUPPORTED;
return rc;
static int vboxClipboardReadData (VBOXCLIPBOARDCONTEXT *pCtx, uint32_t u32Format, void *pv, uint32_t cb, uint32_t *pcbActual)
if (pcbActual)
return rc;
return rc;
switch (format)
case CF_UNICODETEXT:
case CF_TEXT:
case CF_DIB:
case CF_BITMAP:
if (cActual)
CloseClipboard ();
static LRESULT vboxClipboardProcessMsg(VBOXCLIPBOARDCONTEXT *pCtx, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
switch (msg)
case WM_CHANGECBCHAIN:
Log (("vboxClipboardProcessMsg: WM_CHANGECBCHAIN: hwndRemoved %p, hwndNext %p, hwnd %p\n", hwndRemoved, hwndNext, pCtx->hwnd));
case WM_DRAWCLIPBOARD:
case WM_CLOSE:
case WM_RENDERFORMAT:
switch (format)
case CF_UNICODETEXT:
case CF_DIB:
if (cActual)
if (u32Format == 0)
EmptyClipboard ();
if (hMem)
if (pMem)
if (cb == 0)
if (hMem)
if (pMem)
if (hMem)
if (hMem)
if (hMem)
if (hClip)
if (hMem)
if (hMem)
EmptyClipboard ();
case WM_RENDERALLFORMATS:
case WM_USER:
if (format != 0)
if (format != 0)
CloseClipboard ();
return rc;
return rc;
return VERR_NOT_SUPPORTED;
*pfStartThread = true;
return rc;
NULL,
NULL);
NULL))
switch (u32Msg)