ReactOS 0.4.16-dev-2354-g16de117
usrmarshal.c File Reference
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winerror.h"
#include "ole2.h"
#include "oleauto.h"
#include "rpcproxy.h"
#include "wine/debug.h"
Include dependency graph for usrmarshal.c:

Go to the source code of this file.

Classes

struct  SNB_wire
 

Macros

#define COBJMACROS
 
#define ALIGNED_LENGTH(_Len, _Align)   (((_Len)+(_Align))&~(_Align))
 
#define ALIGNED_POINTER(_Ptr, _Align)   ((LPVOID)ALIGNED_LENGTH((ULONG_PTR)(_Ptr), _Align))
 
#define ALIGN_LENGTH(_Len, _Align)   _Len = ALIGNED_LENGTH(_Len, _Align)
 
#define ALIGN_POINTER(_Ptr, _Align)   _Ptr = ALIGNED_POINTER(_Ptr, _Align)
 
#define USER_MARSHAL_PTR_PREFIX
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (ole)
 
ULONG __RPC_USER WdtpInterfacePointer_UserSize (ULONG *pFlags, ULONG RealFlags, ULONG StartingSize, IUnknown *punk, REFIID riid)
 
unsigned char *WINAPI WdtpInterfacePointer_UserMarshal (ULONG *pFlags, ULONG RealFlags, unsigned char *pBuffer, IUnknown *punk, REFIID riid)
 
unsigned char *WINAPI WdtpInterfacePointer_UserUnmarshal (ULONG *pFlags, unsigned char *pBuffer, IUnknown **ppunk, REFIID riid)
 
static const chardebugstr_user_flags (ULONG *pFlags)
 
ULONG __RPC_USER HMETAFILE_UserSize (ULONG *pFlags, ULONG StartingSize, HMETAFILE *phmf)
 
unsigned char *__RPC_USER HMETAFILE_UserMarshal (ULONG *pFlags, unsigned char *pBuffer, HMETAFILE *phmf)
 
unsigned char *__RPC_USER HMETAFILE_UserUnmarshal (ULONG *pFlags, unsigned char *pBuffer, HMETAFILE *phmf)
 
void __RPC_USER HMETAFILE_UserFree (ULONG *pFlags, HMETAFILE *phmf)
 
ULONG __RPC_USER HENHMETAFILE_UserSize (ULONG *pFlags, ULONG size, HENHMETAFILE *phEmf)
 
unsigned char *__RPC_USER HENHMETAFILE_UserMarshal (ULONG *pFlags, unsigned char *pBuffer, HENHMETAFILE *phEmf)
 
unsigned char *__RPC_USER HENHMETAFILE_UserUnmarshal (ULONG *pFlags, unsigned char *pBuffer, HENHMETAFILE *phEmf)
 
void __RPC_USER HENHMETAFILE_UserFree (ULONG *pFlags, HENHMETAFILE *phEmf)
 
ULONG __RPC_USER HMETAFILEPICT_UserSize (ULONG *pFlags, ULONG size, HMETAFILEPICT *phMfp)
 
unsigned char *__RPC_USER HMETAFILEPICT_UserMarshal (ULONG *pFlags, unsigned char *pBuffer, HMETAFILEPICT *phMfp)
 
unsigned char *__RPC_USER HMETAFILEPICT_UserUnmarshal (ULONG *pFlags, unsigned char *pBuffer, HMETAFILEPICT *phMfp)
 
void __RPC_USER HMETAFILEPICT_UserFree (ULONG *pFlags, HMETAFILEPICT *phMfp)
 
ULONG __RPC_USER STGMEDIUM_UserSize (ULONG *pFlags, ULONG StartingSize, STGMEDIUM *pStgMedium)
 
unsigned char *__RPC_USER STGMEDIUM_UserMarshal (ULONG *pFlags, unsigned char *pBuffer, STGMEDIUM *pStgMedium)
 
unsigned char *__RPC_USER STGMEDIUM_UserUnmarshal (ULONG *pFlags, unsigned char *pBuffer, STGMEDIUM *pStgMedium)
 
void __RPC_USER STGMEDIUM_UserFree (ULONG *flags, STGMEDIUM *med)
 
ULONG __RPC_USER ASYNC_STGMEDIUM_UserSize (ULONG *pFlags, ULONG StartingSize, ASYNC_STGMEDIUM *pStgMedium)
 
unsigned char *__RPC_USER ASYNC_STGMEDIUM_UserMarshal (ULONG *pFlags, unsigned char *pBuffer, ASYNC_STGMEDIUM *pStgMedium)
 
unsigned char *__RPC_USER ASYNC_STGMEDIUM_UserUnmarshal (ULONG *pFlags, unsigned char *pBuffer, ASYNC_STGMEDIUM *pStgMedium)
 
void __RPC_USER ASYNC_STGMEDIUM_UserFree (ULONG *pFlags, ASYNC_STGMEDIUM *pStgMedium)
 
ULONG __RPC_USER FLAG_STGMEDIUM_UserSize (ULONG *pFlags, ULONG StartingSize, FLAG_STGMEDIUM *pStgMedium)
 
unsigned char *__RPC_USER FLAG_STGMEDIUM_UserMarshal (ULONG *pFlags, unsigned char *pBuffer, FLAG_STGMEDIUM *pStgMedium)
 
unsigned char *__RPC_USER FLAG_STGMEDIUM_UserUnmarshal (ULONG *pFlags, unsigned char *pBuffer, FLAG_STGMEDIUM *pStgMedium)
 
void __RPC_USER FLAG_STGMEDIUM_UserFree (ULONG *pFlags, FLAG_STGMEDIUM *pStgMedium)
 
ULONG __RPC_USER SNB_UserSize (ULONG *pFlags, ULONG StartingSize, SNB *pSnb)
 
unsigned char *__RPC_USER SNB_UserMarshal (ULONG *pFlags, unsigned char *pBuffer, SNB *pSnb)
 
unsigned char *__RPC_USER SNB_UserUnmarshal (ULONG *pFlags, unsigned char *pBuffer, SNB *pSnb)
 
void __RPC_USER SNB_UserFree (ULONG *pFlags, SNB *pSnb)
 
HRESULT CALLBACK IClassFactory_CreateInstance_Proxy (IClassFactory *This, IUnknown *pUnkOuter, REFIID riid, void **ppvObject)
 
HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub (IClassFactory *This, REFIID riid, IUnknown **ppvObject)
 
HRESULT CALLBACK IClassFactory_LockServer_Proxy (IClassFactory *This, BOOL fLock)
 
HRESULT __RPC_STUB IClassFactory_LockServer_Stub (IClassFactory *This, BOOL fLock)
 
HRESULT CALLBACK IEnumUnknown_Next_Proxy (IEnumUnknown *This, ULONG celt, IUnknown **rgelt, ULONG *pceltFetched)
 
HRESULT __RPC_STUB IEnumUnknown_Next_Stub (IEnumUnknown *This, ULONG celt, IUnknown **rgelt, ULONG *pceltFetched)
 
HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy (IBindCtx *This, BIND_OPTS *pbindopts)
 
HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub (IBindCtx *This, BIND_OPTS2 *pbindopts)
 
HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy (IBindCtx *This, BIND_OPTS *pbindopts)
 
HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub (IBindCtx *This, BIND_OPTS2 *pbindopts)
 
HRESULT CALLBACK IEnumMoniker_Next_Proxy (IEnumMoniker *This, ULONG celt, IMoniker **rgelt, ULONG *pceltFetched)
 
HRESULT __RPC_STUB IEnumMoniker_Next_Stub (IEnumMoniker *This, ULONG celt, IMoniker **rgelt, ULONG *pceltFetched)
 
BOOL CALLBACK IRunnableObject_IsRunning_Proxy (IRunnableObject *This)
 
HRESULT __RPC_STUB IRunnableObject_IsRunning_Stub (IRunnableObject *This)
 
HRESULT CALLBACK IMoniker_BindToObject_Proxy (IMoniker *This, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riidResult, void **ppvResult)
 
HRESULT __RPC_STUB IMoniker_BindToObject_Stub (IMoniker *This, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riidResult, IUnknown **ppvResult)
 
HRESULT CALLBACK IMoniker_BindToStorage_Proxy (IMoniker *This, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riid, void **ppvObj)
 
HRESULT __RPC_STUB IMoniker_BindToStorage_Stub (IMoniker *This, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riid, IUnknown **ppvObj)
 
HRESULT CALLBACK IEnumString_Next_Proxy (IEnumString *This, ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched)
 
HRESULT __RPC_STUB IEnumString_Next_Stub (IEnumString *This, ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched)
 
HRESULT CALLBACK ISequentialStream_Read_Proxy (ISequentialStream *This, void *pv, ULONG cb, ULONG *pcbRead)
 
HRESULT __RPC_STUB ISequentialStream_Read_Stub (ISequentialStream *This, byte *pv, ULONG cb, ULONG *pcbRead)
 
HRESULT CALLBACK ISequentialStream_Write_Proxy (ISequentialStream *This, const void *pv, ULONG cb, ULONG *pcbWritten)
 
HRESULT __RPC_STUB ISequentialStream_Write_Stub (ISequentialStream *This, const byte *pv, ULONG cb, ULONG *pcbWritten)
 
HRESULT CALLBACK IStream_Seek_Proxy (IStream *This, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
 
HRESULT __RPC_STUB IStream_Seek_Stub (IStream *This, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
 
HRESULT CALLBACK IStream_CopyTo_Proxy (IStream *This, IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten)
 
HRESULT __RPC_STUB IStream_CopyTo_Stub (IStream *This, IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten)
 
HRESULT CALLBACK IEnumSTATSTG_Next_Proxy (IEnumSTATSTG *This, ULONG celt, STATSTG *rgelt, ULONG *pceltFetched)
 
HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub (IEnumSTATSTG *This, ULONG celt, STATSTG *rgelt, ULONG *pceltFetched)
 
HRESULT CALLBACK IStorage_OpenStream_Proxy (IStorage *This, LPCOLESTR pwcsName, void *reserved1, DWORD grfMode, DWORD reserved2, IStream **ppstm)
 
HRESULT __RPC_STUB IStorage_OpenStream_Stub (IStorage *This, LPCOLESTR pwcsName, ULONG cbReserved1, byte *reserved1, DWORD grfMode, DWORD reserved2, IStream **ppstm)
 
HRESULT CALLBACK IStorage_EnumElements_Proxy (IStorage *This, DWORD reserved1, void *reserved2, DWORD reserved3, IEnumSTATSTG **ppenum)
 
HRESULT __RPC_STUB IStorage_EnumElements_Stub (IStorage *This, DWORD reserved1, ULONG cbReserved2, byte *reserved2, DWORD reserved3, IEnumSTATSTG **ppenum)
 
HRESULT CALLBACK ILockBytes_ReadAt_Proxy (ILockBytes *This, ULARGE_INTEGER ulOffset, void *pv, ULONG cb, ULONG *pcbRead)
 
HRESULT __RPC_STUB ILockBytes_ReadAt_Stub (ILockBytes *This, ULARGE_INTEGER ulOffset, byte *pv, ULONG cb, ULONG *pcbRead)
 
HRESULT CALLBACK ILockBytes_WriteAt_Proxy (ILockBytes *This, ULARGE_INTEGER ulOffset, const void *pv, ULONG cb, ULONG *pcbWritten)
 
HRESULT __RPC_STUB ILockBytes_WriteAt_Stub (ILockBytes *This, ULARGE_INTEGER ulOffset, const byte *pv, ULONG cb, ULONG *pcbWritten)
 
HRESULT CALLBACK IFillLockBytes_FillAppend_Proxy (IFillLockBytes *This, const void *pv, ULONG cb, ULONG *pcbWritten)
 
HRESULT __RPC_STUB IFillLockBytes_FillAppend_Stub (IFillLockBytes *This, const byte *pv, ULONG cb, ULONG *pcbWritten)
 
HRESULT CALLBACK IFillLockBytes_FillAt_Proxy (IFillLockBytes *This, ULARGE_INTEGER ulOffset, const void *pv, ULONG cb, ULONG *pcbWritten)
 
HRESULT __RPC_STUB IFillLockBytes_FillAt_Stub (IFillLockBytes *This, ULARGE_INTEGER ulOffset, const byte *pv, ULONG cb, ULONG *pcbWritten)
 
HRESULT CALLBACK IEnumFORMATETC_Next_Proxy (IEnumFORMATETC *This, ULONG celt, FORMATETC *rgelt, ULONG *pceltFetched)
 
HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub (IEnumFORMATETC *This, ULONG celt, FORMATETC *rgelt, ULONG *pceltFetched)
 
HRESULT CALLBACK IEnumSTATDATA_Next_Proxy (IEnumSTATDATA *This, ULONG celt, STATDATA *rgelt, ULONG *pceltFetched)
 
HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub (IEnumSTATDATA *This, ULONG celt, STATDATA *rgelt, ULONG *pceltFetched)
 
void CALLBACK IAdviseSink_OnDataChange_Proxy (IAdviseSink *This, FORMATETC *pFormatetc, STGMEDIUM *pStgmed)
 
HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub (IAdviseSink *This, FORMATETC *pFormatetc, ASYNC_STGMEDIUM *pStgmed)
 
void CALLBACK IAdviseSink_OnViewChange_Proxy (IAdviseSink *This, DWORD dwAspect, LONG lindex)
 
HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub (IAdviseSink *This, DWORD dwAspect, LONG lindex)
 
void CALLBACK IAdviseSink_OnRename_Proxy (IAdviseSink *This, IMoniker *pmk)
 
HRESULT __RPC_STUB IAdviseSink_OnRename_Stub (IAdviseSink *This, IMoniker *pmk)
 
void CALLBACK IAdviseSink_OnSave_Proxy (IAdviseSink *This)
 
HRESULT __RPC_STUB IAdviseSink_OnSave_Stub (IAdviseSink *This)
 
void CALLBACK IAdviseSink_OnClose_Proxy (IAdviseSink *This)
 
HRESULT __RPC_STUB IAdviseSink_OnClose_Stub (IAdviseSink *This)
 
void CALLBACK IAdviseSink2_OnLinkSrcChange_Proxy (IAdviseSink2 *This, IMoniker *pmk)
 
HRESULT __RPC_STUB IAdviseSink2_OnLinkSrcChange_Stub (IAdviseSink2 *This, IMoniker *pmk)
 
HRESULT CALLBACK IDataObject_GetData_Proxy (IDataObject *This, FORMATETC *pformatetcIn, STGMEDIUM *pmedium)
 
HRESULT __RPC_STUB IDataObject_GetData_Stub (IDataObject *This, FORMATETC *pformatetcIn, STGMEDIUM *pRemoteMedium)
 
HRESULT CALLBACK IDataObject_GetDataHere_Proxy (IDataObject *iface, FORMATETC *fmt, STGMEDIUM *med)
 
HRESULT __RPC_STUB IDataObject_GetDataHere_Stub (IDataObject *This, FORMATETC *pformatetc, STGMEDIUM *pRemoteMedium)
 
HRESULT CALLBACK IDataObject_SetData_Proxy (IDataObject *This, FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease)
 
HRESULT __RPC_STUB IDataObject_SetData_Stub (IDataObject *This, FORMATETC *pformatetc, FLAG_STGMEDIUM *pmedium, BOOL fRelease)
 
HRESULT CALLBACK IOleInPlaceActiveObject_TranslateAccelerator_Proxy (IOleInPlaceActiveObject *This, LPMSG lpmsg)
 
HRESULT __RPC_STUB IOleInPlaceActiveObject_TranslateAccelerator_Stub (IOleInPlaceActiveObject *This)
 
HRESULT CALLBACK IOleInPlaceActiveObject_ResizeBorder_Proxy (IOleInPlaceActiveObject *This, LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fFrameWindow)
 
HRESULT __RPC_STUB IOleInPlaceActiveObject_ResizeBorder_Stub (IOleInPlaceActiveObject *This, LPCRECT prcBorder, REFIID riid, IOleInPlaceUIWindow *pUIWindow, BOOL fFrameWindow)
 
HRESULT CALLBACK IOleCache2_UpdateCache_Proxy (IOleCache2 *This, LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved)
 
HRESULT __RPC_STUB IOleCache2_UpdateCache_Stub (IOleCache2 *This, LPDATAOBJECT pDataObject, DWORD grfUpdf, LONG_PTR pReserved)
 
HRESULT CALLBACK IEnumOLEVERB_Next_Proxy (IEnumOLEVERB *This, ULONG celt, LPOLEVERB rgelt, ULONG *pceltFetched)
 
HRESULT __RPC_STUB IEnumOLEVERB_Next_Stub (IEnumOLEVERB *This, ULONG celt, LPOLEVERB rgelt, ULONG *pceltFetched)
 
HRESULT CALLBACK IViewObject_Draw_Proxy (IViewObject *This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL(STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue)
 
HRESULT __RPC_STUB IViewObject_Draw_Stub (IViewObject *This, DWORD dwDrawAspect, LONG lindex, ULONG_PTR pvAspect, DVTARGETDEVICE *ptd, ULONG_PTR hdcTargetDev, ULONG_PTR hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, IContinue *pContinue)
 
HRESULT CALLBACK IViewObject_GetColorSet_Proxy (IViewObject *This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE **ppColorSet)
 
HRESULT __RPC_STUB IViewObject_GetColorSet_Stub (IViewObject *This, DWORD dwDrawAspect, LONG lindex, ULONG_PTR pvAspect, DVTARGETDEVICE *ptd, ULONG_PTR hicTargetDev, LOGPALETTE **ppColorSet)
 
HRESULT CALLBACK IViewObject_Freeze_Proxy (IViewObject *This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze)
 
HRESULT __RPC_STUB IViewObject_Freeze_Stub (IViewObject *This, DWORD dwDrawAspect, LONG lindex, ULONG_PTR pvAspect, DWORD *pdwFreeze)
 
HRESULT CALLBACK IViewObject_GetAdvise_Proxy (IViewObject *This, DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink)
 
HRESULT __RPC_STUB IViewObject_GetAdvise_Stub (IViewObject *This, DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink)
 

Macro Definition Documentation

◆ ALIGN_LENGTH

#define ALIGN_LENGTH (   _Len,
  _Align 
)    _Len = ALIGNED_LENGTH(_Len, _Align)

Definition at line 42 of file usrmarshal.c.

◆ ALIGN_POINTER

#define ALIGN_POINTER (   _Ptr,
  _Align 
)    _Ptr = ALIGNED_POINTER(_Ptr, _Align)

Definition at line 43 of file usrmarshal.c.

◆ ALIGNED_LENGTH

#define ALIGNED_LENGTH (   _Len,
  _Align 
)    (((_Len)+(_Align))&~(_Align))

Definition at line 40 of file usrmarshal.c.

◆ ALIGNED_POINTER

#define ALIGNED_POINTER (   _Ptr,
  _Align 
)    ((LPVOID)ALIGNED_LENGTH((ULONG_PTR)(_Ptr), _Align))

Definition at line 41 of file usrmarshal.c.

◆ COBJMACROS

#define COBJMACROS

Definition at line 25 of file usrmarshal.c.

◆ USER_MARSHAL_PTR_PREFIX

#define USER_MARSHAL_PTR_PREFIX
Value:
( (DWORD)'U' | ( (DWORD)'s' << 8 ) | \
( (DWORD)'e' << 16 ) | ( (DWORD)'r' << 24 ) )
unsigned long DWORD
Definition: ntddk_ex.h:95
#define DWORD
Definition: nt_native.h:44

Definition at line 45 of file usrmarshal.c.

Function Documentation

◆ ASYNC_STGMEDIUM_UserFree()

void __RPC_USER ASYNC_STGMEDIUM_UserFree ( ULONG pFlags,
ASYNC_STGMEDIUM *  pStgMedium 
)

Definition at line 1108 of file usrmarshal.c.

1109{
1110 TRACE("\n");
1111 STGMEDIUM_UserFree(pFlags, pStgMedium);
1112}
void __RPC_USER STGMEDIUM_UserFree(ULONG *flags, STGMEDIUM *med)
Definition: usrmarshal.c:1065
#define TRACE(s)
Definition: solgame.cpp:4

◆ ASYNC_STGMEDIUM_UserMarshal()

unsigned char *__RPC_USER ASYNC_STGMEDIUM_UserMarshal ( ULONG pFlags,
unsigned char pBuffer,
ASYNC_STGMEDIUM *  pStgMedium 
)

Definition at line 1096 of file usrmarshal.c.

1097{
1098 TRACE("\n");
1099 return STGMEDIUM_UserMarshal(pFlags, pBuffer, pStgMedium);
1100}
unsigned char *__RPC_USER STGMEDIUM_UserMarshal(ULONG *pFlags, unsigned char *pBuffer, STGMEDIUM *pStgMedium)
Definition: usrmarshal.c:813
PVOID pBuffer

◆ ASYNC_STGMEDIUM_UserSize()

ULONG __RPC_USER ASYNC_STGMEDIUM_UserSize ( ULONG pFlags,
ULONG  StartingSize,
ASYNC_STGMEDIUM *  pStgMedium 
)

Definition at line 1090 of file usrmarshal.c.

1091{
1092 TRACE("\n");
1093 return STGMEDIUM_UserSize(pFlags, StartingSize, pStgMedium);
1094}
ULONG __RPC_USER STGMEDIUM_UserSize(ULONG *pFlags, ULONG StartingSize, STGMEDIUM *pStgMedium)
Definition: usrmarshal.c:718

◆ ASYNC_STGMEDIUM_UserUnmarshal()

unsigned char *__RPC_USER ASYNC_STGMEDIUM_UserUnmarshal ( ULONG pFlags,
unsigned char pBuffer,
ASYNC_STGMEDIUM *  pStgMedium 
)

Definition at line 1102 of file usrmarshal.c.

1103{
1104 TRACE("\n");
1105 return STGMEDIUM_UserUnmarshal(pFlags, pBuffer, pStgMedium);
1106}
unsigned char *__RPC_USER STGMEDIUM_UserUnmarshal(ULONG *pFlags, unsigned char *pBuffer, STGMEDIUM *pStgMedium)
Definition: usrmarshal.c:923

◆ debugstr_user_flags()

static const char * debugstr_user_flags ( ULONG pFlags)
static

Definition at line 54 of file usrmarshal.c.

55{
56 char buf[12];
57 const char* loword;
58 switch (LOWORD(*pFlags))
59 {
60 case MSHCTX_LOCAL:
61 loword="MSHCTX_LOCAL";
62 break;
63 case MSHCTX_NOSHAREDMEM:
64 loword="MSHCTX_NOSHAREDMEM";
65 break;
66 case MSHCTX_DIFFERENTMACHINE:
67 loword="MSHCTX_DIFFERENTMACHINE";
68 break;
69 case MSHCTX_INPROC:
70 loword="MSHCTX_INPROC";
71 break;
72 default:
73 sprintf(buf, "%d", LOWORD(*pFlags));
74 loword=buf;
75 }
76
78 return wine_dbg_sprintf("MAKELONG(%s, NDR_LOCAL_DATA_REPRESENTATION)", loword);
79 else
80 return wine_dbg_sprintf("MAKELONG(%s, 0x%04x)", loword, HIWORD(*pFlags));
81}
const char * wine_dbg_sprintf(const char *format,...)
Definition: compat.c:296
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define sprintf
Definition: sprintf.c:45
#define LOWORD(l)
Definition: pedump.c:82
#define NDR_LOCAL_DATA_REPRESENTATION
Definition: rpcndr.h:68
#define HIWORD(l)
Definition: typedefs.h:247

◆ FLAG_STGMEDIUM_UserFree()

void __RPC_USER FLAG_STGMEDIUM_UserFree ( ULONG pFlags,
FLAG_STGMEDIUM *  pStgMedium 
)

Definition at line 1132 of file usrmarshal.c.

1133{
1134 FIXME(":stub\n");
1135}
#define FIXME(fmt,...)
Definition: precomp.h:53

◆ FLAG_STGMEDIUM_UserMarshal()

unsigned char *__RPC_USER FLAG_STGMEDIUM_UserMarshal ( ULONG pFlags,
unsigned char pBuffer,
FLAG_STGMEDIUM *  pStgMedium 
)

Definition at line 1120 of file usrmarshal.c.

1121{
1122 FIXME(":stub\n");
1123 return pBuffer;
1124}

◆ FLAG_STGMEDIUM_UserSize()

ULONG __RPC_USER FLAG_STGMEDIUM_UserSize ( ULONG pFlags,
ULONG  StartingSize,
FLAG_STGMEDIUM *  pStgMedium 
)

Definition at line 1114 of file usrmarshal.c.

1115{
1116 FIXME(":stub\n");
1117 return StartingSize;
1118}

◆ FLAG_STGMEDIUM_UserUnmarshal()

unsigned char *__RPC_USER FLAG_STGMEDIUM_UserUnmarshal ( ULONG pFlags,
unsigned char pBuffer,
FLAG_STGMEDIUM *  pStgMedium 
)

Definition at line 1126 of file usrmarshal.c.

1127{
1128 FIXME(":stub\n");
1129 return pBuffer;
1130}

◆ HENHMETAFILE_UserFree()

void __RPC_USER HENHMETAFILE_UserFree ( ULONG pFlags,
HENHMETAFILE *  phEmf 
)

Definition at line 469 of file usrmarshal.c.

470{
471 TRACE("(%s, &%p\n", debugstr_user_flags(pFlags), *phEmf);
472
473 if (LOWORD(*pFlags) != MSHCTX_INPROC)
474 DeleteEnhMetaFile(*phEmf);
475}
static const char * debugstr_user_flags(ULONG *pFlags)
Definition: usrmarshal.c:34
BOOL WINAPI DeleteEnhMetaFile(_In_opt_ HENHMETAFILE)

Referenced by test_marshal_HENHMETAFILE().

◆ HENHMETAFILE_UserMarshal()

unsigned char *__RPC_USER HENHMETAFILE_UserMarshal ( ULONG pFlags,
unsigned char pBuffer,
HENHMETAFILE *  phEmf 
)

Definition at line 346 of file usrmarshal.c.

347{
348 TRACE("(%s, %p, &%p\n", debugstr_user_flags(pFlags), pBuffer, *phEmf);
349
351
352 if (LOWORD(*pFlags) == MSHCTX_INPROC)
353 {
354 if (sizeof(*phEmf) == 8)
355 *(ULONG *)pBuffer = WDT_INPROC64_CALL;
356 else
357 *(ULONG *)pBuffer = WDT_INPROC_CALL;
358 pBuffer += sizeof(ULONG);
359 *(HENHMETAFILE *)pBuffer = *phEmf;
360 pBuffer += sizeof(HENHMETAFILE);
361 }
362 else
363 {
364 *(ULONG *)pBuffer = WDT_REMOTE_CALL;
365 pBuffer += sizeof(ULONG);
366 *(ULONG *)pBuffer = (ULONG)(ULONG_PTR)*phEmf;
367 pBuffer += sizeof(ULONG);
368
369 if (*phEmf)
370 {
371 UINT emfsize = GetEnhMetaFileBits(*phEmf, 0, NULL);
372
373 *(ULONG *)pBuffer = emfsize;
374 pBuffer += sizeof(ULONG);
375 *(ULONG *)pBuffer = emfsize;
376 pBuffer += sizeof(ULONG);
377 GetEnhMetaFileBits(*phEmf, emfsize, pBuffer);
378 pBuffer += emfsize;
379 }
380 }
381
382 return pBuffer;
383}
#define NULL
Definition: types.h:112
#define ALIGN_POINTER(_Ptr, _Align)
Definition: usrmarshal.c:32
#define ULONG_PTR
Definition: config.h:101
unsigned int UINT
Definition: ndis.h:50
uint32_t ULONG
Definition: typedefs.h:59
UINT WINAPI GetEnhMetaFileBits(_In_ HENHMETAFILE hEMF, _In_ UINT nSize, _Out_writes_bytes_opt_(nSize) LPBYTE lpData)

Referenced by STGMEDIUM_UserMarshal(), and test_marshal_HENHMETAFILE().

◆ HENHMETAFILE_UserSize()

ULONG __RPC_USER HENHMETAFILE_UserSize ( ULONG pFlags,
ULONG  size,
HENHMETAFILE *  phEmf 
)

Definition at line 301 of file usrmarshal.c.

302{
303 TRACE("%s, %lu, %p.\n", debugstr_user_flags(pFlags), size, *phEmf);
304
305 ALIGN_LENGTH(size, 3);
306
307 size += sizeof(ULONG);
308 if (LOWORD(*pFlags) == MSHCTX_INPROC)
309 size += sizeof(ULONG_PTR);
310 else
311 {
312 size += sizeof(ULONG);
313
314 if (*phEmf)
315 {
316 UINT emfsize;
317
318 size += 2 * sizeof(ULONG);
319 emfsize = GetEnhMetaFileBits(*phEmf, 0, NULL);
320 size += emfsize;
321 }
322 }
323
324 return size;
325}
#define ALIGN_LENGTH(_Len, _Align)
Definition: usrmarshal.c:31
GLsizeiptr size
Definition: glext.h:5919
uint32_t ULONG_PTR
Definition: typedefs.h:65

Referenced by STGMEDIUM_UserSize(), and test_marshal_HENHMETAFILE().

◆ HENHMETAFILE_UserUnmarshal()

unsigned char *__RPC_USER HENHMETAFILE_UserUnmarshal ( ULONG pFlags,
unsigned char pBuffer,
HENHMETAFILE *  phEmf 
)

Definition at line 404 of file usrmarshal.c.

405{
406 ULONG fContext;
407
408 TRACE("(%s, %p, %p\n", debugstr_user_flags(pFlags), pBuffer, phEmf);
409
411
412 fContext = *(ULONG *)pBuffer;
413 pBuffer += sizeof(ULONG);
414
415 if (((fContext == WDT_INPROC_CALL) && (sizeof(*phEmf) < 8)) ||
416 ((fContext == WDT_INPROC64_CALL) && (sizeof(*phEmf) == 8)))
417 {
418 *phEmf = *(HENHMETAFILE *)pBuffer;
419 pBuffer += sizeof(*phEmf);
420 }
421 else if (fContext == WDT_REMOTE_CALL)
422 {
424
425 handle = *(ULONG *)pBuffer;
426 pBuffer += sizeof(ULONG);
427
428 if (handle)
429 {
430 ULONG size;
431 size = *(ULONG *)pBuffer;
432 pBuffer += sizeof(ULONG);
433 if (size != *(ULONG *)pBuffer)
434 {
436 return pBuffer;
437 }
438 pBuffer += sizeof(ULONG);
440 pBuffer += size;
441 }
442 else
443 *phEmf = NULL;
444 }
445 else
447
448 return pBuffer;
449}
VOID WINAPI RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, _In_opt_ const ULONG_PTR *lpArguments)
Definition: except.c:700
#define RPC_S_INVALID_TAG
Definition: winerror.h:1399
#define RPC_X_BAD_STUB_DATA
Definition: winerror.h:1447
HENHMETAFILE WINAPI SetEnhMetaFileBits(_In_ UINT nSize, _In_reads_bytes_(nSize) const BYTE *pb)

Referenced by STGMEDIUM_UserUnmarshal(), and test_marshal_HENHMETAFILE().

◆ HMETAFILE_UserFree()

void __RPC_USER HMETAFILE_UserFree ( ULONG pFlags,
HMETAFILE *  phmf 
)

Definition at line 273 of file usrmarshal.c.

274{
275 TRACE("(%s, &%p\n", debugstr_user_flags(pFlags), *phmf);
276
277 if (LOWORD(*pFlags) != MSHCTX_INPROC)
278 DeleteMetaFile(*phmf);
279}
BOOL WINAPI DeleteMetaFile(_In_ HMETAFILE)

Referenced by HMETAFILEPICT_UserFree(), and test_marshal_HMETAFILE().

◆ HMETAFILE_UserMarshal()

unsigned char *__RPC_USER HMETAFILE_UserMarshal ( ULONG pFlags,
unsigned char pBuffer,
HMETAFILE *  phmf 
)

Definition at line 150 of file usrmarshal.c.

151{
152 TRACE("(%s, %p, &%p\n", debugstr_user_flags(pFlags), pBuffer, *phmf);
153
155
156 if (LOWORD(*pFlags) == MSHCTX_INPROC)
157 {
158 if (sizeof(*phmf) == 8)
159 *(ULONG *)pBuffer = WDT_INPROC64_CALL;
160 else
161 *(ULONG *)pBuffer = WDT_INPROC_CALL;
162 pBuffer += sizeof(ULONG);
163 *(HMETAFILE *)pBuffer = *phmf;
164 pBuffer += sizeof(HMETAFILE);
165 }
166 else
167 {
168 *(ULONG *)pBuffer = WDT_REMOTE_CALL;
169 pBuffer += sizeof(ULONG);
170 *(ULONG *)pBuffer = (ULONG)(ULONG_PTR)*phmf;
171 pBuffer += sizeof(ULONG);
172
173 if (*phmf)
174 {
175 UINT mfsize = GetMetaFileBitsEx(*phmf, 0, NULL);
176
177 *(ULONG *)pBuffer = mfsize;
178 pBuffer += sizeof(ULONG);
179 *(ULONG *)pBuffer = mfsize;
180 pBuffer += sizeof(ULONG);
181 GetMetaFileBitsEx(*phmf, mfsize, pBuffer);
182 pBuffer += mfsize;
183 }
184 }
185
186 return pBuffer;
187}
UINT WINAPI GetMetaFileBitsEx(_In_ HMETAFILE hMF, _In_ UINT cbBuffer, _Out_writes_bytes_opt_(cbBuffer) LPVOID lpData)

Referenced by HMETAFILEPICT_UserMarshal(), and test_marshal_HMETAFILE().

◆ HMETAFILE_UserSize()

ULONG __RPC_USER HMETAFILE_UserSize ( ULONG pFlags,
ULONG  StartingSize,
HMETAFILE *  phmf 
)

Definition at line 103 of file usrmarshal.c.

104{
105 ULONG size = StartingSize;
106
107 TRACE("%s, %lu, &%p.\n", debugstr_user_flags(pFlags), StartingSize, *phmf);
108
109 ALIGN_LENGTH(size, 3);
110
111 size += sizeof(ULONG);
112 if (LOWORD(*pFlags) == MSHCTX_INPROC)
113 size += sizeof(ULONG_PTR);
114 else
115 {
116 size += sizeof(ULONG);
117
118 if (*phmf)
119 {
120 UINT mfsize;
121
122 size += 2 * sizeof(ULONG);
123 mfsize = GetMetaFileBitsEx(*phmf, 0, NULL);
124 size += mfsize;
125 }
126 }
127
128 return size;
129}

Referenced by HMETAFILEPICT_UserSize(), and test_marshal_HMETAFILE().

◆ HMETAFILE_UserUnmarshal()

unsigned char *__RPC_USER HMETAFILE_UserUnmarshal ( ULONG pFlags,
unsigned char pBuffer,
HMETAFILE *  phmf 
)

Definition at line 208 of file usrmarshal.c.

209{
210 ULONG fContext;
211
212 TRACE("(%s, %p, %p\n", debugstr_user_flags(pFlags), pBuffer, phmf);
213
215
216 fContext = *(ULONG *)pBuffer;
217 pBuffer += sizeof(ULONG);
218
219 if (((fContext == WDT_INPROC_CALL) && (sizeof(*phmf) < 8)) ||
220 ((fContext == WDT_INPROC64_CALL) && (sizeof(*phmf) == 8)))
221 {
222 *phmf = *(HMETAFILE *)pBuffer;
223 pBuffer += sizeof(*phmf);
224 }
225 else if (fContext == WDT_REMOTE_CALL)
226 {
228
229 handle = *(ULONG *)pBuffer;
230 pBuffer += sizeof(ULONG);
231
232 if (handle)
233 {
234 ULONG size;
235 size = *(ULONG *)pBuffer;
236 pBuffer += sizeof(ULONG);
237 if (size != *(ULONG *)pBuffer)
238 {
240 return pBuffer;
241 }
242 pBuffer += sizeof(ULONG);
244 pBuffer += size;
245 }
246 else
247 *phmf = NULL;
248 }
249 else
251
252 return pBuffer;
253}
HMETAFILE WINAPI SetMetaFileBitsEx(_In_ UINT cbBuffer, _In_reads_bytes_(cbBuffer) CONST BYTE *lpData)

Referenced by HMETAFILEPICT_UserUnmarshal(), and test_marshal_HMETAFILE().

◆ HMETAFILEPICT_UserFree()

void __RPC_USER HMETAFILEPICT_UserFree ( ULONG pFlags,
HMETAFILEPICT *  phMfp 
)

Definition at line 681 of file usrmarshal.c.

682{
683 TRACE("(%s, &%p)\n", debugstr_user_flags(pFlags), *phMfp);
684
685 if ((LOWORD(*pFlags) != MSHCTX_INPROC) && *phMfp)
686 {
687 METAFILEPICT *mfpict;
688
689 mfpict = GlobalLock(*phMfp);
690 /* FIXME: raise an exception if mfpict is NULL? */
691 HMETAFILE_UserFree(pFlags, &mfpict->hMF);
692 GlobalUnlock(*phMfp);
693
694 GlobalFree(*phMfp);
695 }
696}
void __RPC_USER HMETAFILE_UserFree(ULONG *pFlags, HMETAFILE *phmf)
Definition: usrmarshal.c:273
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
Definition: heapmem.c:611
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
Definition: heapmem.c:1190
static ERESOURCE GlobalLock
Definition: sys_arch.c:8
HMETAFILE hMF
Definition: wingdi.h:3054

Referenced by test_marshal_HMETAFILEPICT().

◆ HMETAFILEPICT_UserMarshal()

unsigned char *__RPC_USER HMETAFILEPICT_UserMarshal ( ULONG pFlags,
unsigned char pBuffer,
HMETAFILEPICT *  phMfp 
)

Definition at line 547 of file usrmarshal.c.

548{
549 TRACE("(%s, %p, &%p)\n", debugstr_user_flags(pFlags), pBuffer, *phMfp);
550
552
553 if (LOWORD(*pFlags) == MSHCTX_INPROC)
554 {
555 if (sizeof(HMETAFILEPICT) == 8)
556 *(ULONG *)pBuffer = WDT_INPROC64_CALL;
557 else
558 *(ULONG *)pBuffer = WDT_INPROC_CALL;
559 pBuffer += sizeof(ULONG);
560 *(HMETAFILEPICT *)pBuffer = *phMfp;
561 pBuffer += sizeof(HMETAFILEPICT);
562 }
563 else
564 {
565 *(ULONG *)pBuffer = WDT_REMOTE_CALL;
566 pBuffer += sizeof(ULONG);
567 *(ULONG *)pBuffer = (ULONG)(ULONG_PTR)*phMfp;
568 pBuffer += sizeof(ULONG);
569
570 if (*phMfp)
571 {
572 METAFILEPICT *mfpict = GlobalLock(*phMfp);
573 remoteMETAFILEPICT * remmfpict = (remoteMETAFILEPICT *)pBuffer;
574
575 /* FIXME: raise an exception if mfpict is NULL? */
576 remmfpict->mm = mfpict->mm;
577 remmfpict->xExt = mfpict->xExt;
578 remmfpict->yExt = mfpict->yExt;
579 pBuffer += 3 * sizeof(ULONG);
581 pBuffer += sizeof(ULONG);
582
583 pBuffer = HMETAFILE_UserMarshal(pFlags, pBuffer, &mfpict->hMF);
584
585 GlobalUnlock(*phMfp);
586 }
587 }
588 return pBuffer;
589}
#define USER_MARSHAL_PTR_PREFIX
Definition: usrmarshal.c:45
unsigned char *__RPC_USER HMETAFILE_UserMarshal(ULONG *pFlags, unsigned char *pBuffer, HMETAFILE *phmf)
Definition: usrmarshal.c:150

Referenced by STGMEDIUM_UserMarshal(), and test_marshal_HMETAFILEPICT().

◆ HMETAFILEPICT_UserSize()

ULONG __RPC_USER HMETAFILEPICT_UserSize ( ULONG pFlags,
ULONG  size,
HMETAFILEPICT *  phMfp 
)

Definition at line 497 of file usrmarshal.c.

498{
499 TRACE("%s, %lu, &%p.\n", debugstr_user_flags(pFlags), size, *phMfp);
500
501 ALIGN_LENGTH(size, 3);
502
503 size += sizeof(ULONG);
504
505 if(LOWORD(*pFlags) == MSHCTX_INPROC)
506 size += sizeof(HMETAFILEPICT);
507 else
508 {
509 size += sizeof(ULONG);
510
511 if (*phMfp)
512 {
513 METAFILEPICT *mfpict = GlobalLock(*phMfp);
514
515 /* FIXME: raise an exception if mfpict is NULL? */
516 size += 3 * sizeof(ULONG);
517 size += sizeof(ULONG);
518
519 size = HMETAFILE_UserSize(pFlags, size, &mfpict->hMF);
520
521 GlobalUnlock(*phMfp);
522 }
523 }
524
525 return size;
526}
ULONG __RPC_USER HMETAFILE_UserSize(ULONG *pFlags, ULONG StartingSize, HMETAFILE *phmf)
Definition: usrmarshal.c:103

Referenced by STGMEDIUM_UserSize(), and test_marshal_HMETAFILEPICT().

◆ HMETAFILEPICT_UserUnmarshal()

unsigned char *__RPC_USER HMETAFILEPICT_UserUnmarshal ( ULONG pFlags,
unsigned char pBuffer,
HMETAFILEPICT *  phMfp 
)

Definition at line 610 of file usrmarshal.c.

611{
612 ULONG fContext;
613
614 TRACE("(%s, %p, %p)\n", debugstr_user_flags(pFlags), pBuffer, phMfp);
615
617
618 fContext = *(ULONG *)pBuffer;
619 pBuffer += sizeof(ULONG);
620
621 if ((fContext == WDT_INPROC_CALL) || fContext == WDT_INPROC64_CALL)
622 {
623 *phMfp = *(HMETAFILEPICT *)pBuffer;
624 pBuffer += sizeof(HMETAFILEPICT);
625 }
626 else
627 {
629 pBuffer += sizeof(ULONG);
630 *phMfp = NULL;
631
632 if(handle)
633 {
634 METAFILEPICT *mfpict;
635 const remoteMETAFILEPICT *remmfpict;
636 ULONG user_marshal_prefix;
637
638 remmfpict = (const remoteMETAFILEPICT *)pBuffer;
639
640 *phMfp = GlobalAlloc(GMEM_MOVEABLE, sizeof(METAFILEPICT));
641 if (!*phMfp)
643
644 mfpict = GlobalLock(*phMfp);
645 mfpict->mm = remmfpict->mm;
646 mfpict->xExt = remmfpict->xExt;
647 mfpict->yExt = remmfpict->yExt;
648 pBuffer += 3 * sizeof(ULONG);
649 user_marshal_prefix = *(ULONG *)pBuffer;
650 pBuffer += sizeof(ULONG);
651
652 if (user_marshal_prefix != USER_MARSHAL_PTR_PREFIX)
654
655 pBuffer = HMETAFILE_UserUnmarshal(pFlags, pBuffer, &mfpict->hMF);
656
657 GlobalUnlock(*phMfp);
658 }
659 }
660 return pBuffer;
661}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
unsigned char *__RPC_USER HMETAFILE_UserUnmarshal(ULONG *pFlags, unsigned char *pBuffer, HMETAFILE *phmf)
Definition: usrmarshal.c:208
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:368
#define RPC_X_INVALID_TAG
Definition: rpcnterr.h:37
void DECLSPEC_NORETURN WINAPI RpcRaiseException(RPC_STATUS exception)
Definition: rpcrt4_main.c:213
#define GMEM_MOVEABLE
Definition: winbase.h:318

Referenced by STGMEDIUM_UserUnmarshal(), and test_marshal_HMETAFILEPICT().

◆ IAdviseSink2_OnLinkSrcChange_Proxy()

void CALLBACK IAdviseSink2_OnLinkSrcChange_Proxy ( IAdviseSink2 This,
IMoniker pmk 
)

Definition at line 1911 of file usrmarshal.c.

1914{
1915 TRACE("(%p)->(%p)\n", This, pmk);
1916 IAdviseSink2_RemoteOnLinkSrcChange_Proxy(This, pmk);
1917}

◆ IAdviseSink2_OnLinkSrcChange_Stub()

HRESULT __RPC_STUB IAdviseSink2_OnLinkSrcChange_Stub ( IAdviseSink2 This,
IMoniker pmk 
)

Definition at line 1919 of file usrmarshal.c.

1922{
1923 TRACE("(%p)->(%p)\n", This, pmk);
1924 IAdviseSink2_OnLinkSrcChange(This, pmk);
1925 return S_OK;
1926}
#define S_OK
Definition: intsafe.h:52

◆ IAdviseSink_OnClose_Proxy()

void CALLBACK IAdviseSink_OnClose_Proxy ( IAdviseSink This)

Definition at line 1896 of file usrmarshal.c.

1898{
1899 TRACE("(%p)\n", This);
1900 IAdviseSink_RemoteOnClose_Proxy(This);
1901}

◆ IAdviseSink_OnClose_Stub()

HRESULT __RPC_STUB IAdviseSink_OnClose_Stub ( IAdviseSink This)

Definition at line 1903 of file usrmarshal.c.

1905{
1906 TRACE("(%p)\n", This);
1907 IAdviseSink_OnClose(This);
1908 return S_OK;
1909}

◆ IAdviseSink_OnDataChange_Proxy()

void CALLBACK IAdviseSink_OnDataChange_Proxy ( IAdviseSink This,
FORMATETC *  pFormatetc,
STGMEDIUM *  pStgmed 
)

Definition at line 1826 of file usrmarshal.c.

1830{
1831 TRACE("(%p)->(%p, %p)\n", This, pFormatetc, pStgmed);
1832 IAdviseSink_RemoteOnDataChange_Proxy(This, pFormatetc, pStgmed);
1833}

◆ IAdviseSink_OnDataChange_Stub()

HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub ( IAdviseSink This,
FORMATETC *  pFormatetc,
ASYNC_STGMEDIUM *  pStgmed 
)

Definition at line 1835 of file usrmarshal.c.

1839{
1840 TRACE("(%p)->(%p, %p)\n", This, pFormatetc, pStgmed);
1841 IAdviseSink_OnDataChange(This, pFormatetc, pStgmed);
1842 return S_OK;
1843}

◆ IAdviseSink_OnRename_Proxy()

void CALLBACK IAdviseSink_OnRename_Proxy ( IAdviseSink This,
IMoniker pmk 
)

Definition at line 1864 of file usrmarshal.c.

1867{
1868 TRACE("(%p)->(%p)\n", This, pmk);
1869 IAdviseSink_RemoteOnRename_Proxy(This, pmk);
1870}

◆ IAdviseSink_OnRename_Stub()

HRESULT __RPC_STUB IAdviseSink_OnRename_Stub ( IAdviseSink This,
IMoniker pmk 
)

Definition at line 1872 of file usrmarshal.c.

1875{
1876 TRACE("(%p)->(%p)\n", This, pmk);
1877 IAdviseSink_OnRename(This, pmk);
1878 return S_OK;
1879}

◆ IAdviseSink_OnSave_Proxy()

void CALLBACK IAdviseSink_OnSave_Proxy ( IAdviseSink This)

Definition at line 1881 of file usrmarshal.c.

1883{
1884 TRACE("(%p)\n", This);
1885 IAdviseSink_RemoteOnSave_Proxy(This);
1886}

◆ IAdviseSink_OnSave_Stub()

HRESULT __RPC_STUB IAdviseSink_OnSave_Stub ( IAdviseSink This)

Definition at line 1888 of file usrmarshal.c.

1890{
1891 TRACE("(%p)\n", This);
1892 IAdviseSink_OnSave(This);
1893 return S_OK;
1894}

◆ IAdviseSink_OnViewChange_Proxy()

void CALLBACK IAdviseSink_OnViewChange_Proxy ( IAdviseSink This,
DWORD  dwAspect,
LONG  lindex 
)

Definition at line 1845 of file usrmarshal.c.

1849{
1850 TRACE("%p, %ld, %ld.\n", This, dwAspect, lindex);
1851 IAdviseSink_RemoteOnViewChange_Proxy(This, dwAspect, lindex);
1852}

◆ IAdviseSink_OnViewChange_Stub()

HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub ( IAdviseSink This,
DWORD  dwAspect,
LONG  lindex 
)

Definition at line 1854 of file usrmarshal.c.

1858{
1859 TRACE("%p, %ld, %ld.\n", This, dwAspect, lindex);
1860 IAdviseSink_OnViewChange(This, dwAspect, lindex);
1861 return S_OK;
1862}

◆ IBindCtx_GetBindOptions_Proxy()

HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy ( IBindCtx This,
BIND_OPTS *  pbindopts 
)

Definition at line 1340 of file usrmarshal.c.

1343{
1344 FIXME(":stub\n");
1345 return E_NOTIMPL;
1346}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ IBindCtx_GetBindOptions_Stub()

HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub ( IBindCtx This,
BIND_OPTS2 *  pbindopts 
)

Definition at line 1348 of file usrmarshal.c.

1351{
1352 FIXME(":stub\n");
1353 return E_NOTIMPL;
1354}

◆ IBindCtx_SetBindOptions_Proxy()

HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy ( IBindCtx This,
BIND_OPTS *  pbindopts 
)

Definition at line 1324 of file usrmarshal.c.

1327{
1328 FIXME(":stub\n");
1329 return E_NOTIMPL;
1330}

◆ IBindCtx_SetBindOptions_Stub()

HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub ( IBindCtx This,
BIND_OPTS2 *  pbindopts 
)

Definition at line 1332 of file usrmarshal.c.

1335{
1336 FIXME(":stub\n");
1337 return E_NOTIMPL;
1338}

◆ IClassFactory_CreateInstance_Proxy()

HRESULT CALLBACK IClassFactory_CreateInstance_Proxy ( IClassFactory This,
IUnknown pUnkOuter,
REFIID  riid,
void **  ppvObject 
)

Definition at line 1254 of file usrmarshal.c.

1259{
1260 TRACE("(%p, %s, %p)\n", pUnkOuter, debugstr_guid(riid), ppvObject);
1261 *ppvObject = NULL;
1262 if (pUnkOuter)
1263 {
1264 ERR("aggregation is not allowed on remote objects\n");
1265 return CLASS_E_NOAGGREGATION;
1266 }
1267 return IClassFactory_RemoteCreateInstance_Proxy(This, riid,
1268 (IUnknown **) ppvObject);
1269}
#define ERR(fmt,...)
Definition: precomp.h:57
REFIID riid
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:3771

◆ IClassFactory_CreateInstance_Stub()

HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub ( IClassFactory This,
REFIID  riid,
IUnknown **  ppvObject 
)

Definition at line 1271 of file usrmarshal.c.

1275{
1276 TRACE("(%s, %p)\n", debugstr_guid(riid), ppvObject);
1277 return IClassFactory_CreateInstance(This, NULL, riid, (void **) ppvObject);
1278}

◆ IClassFactory_LockServer_Proxy()

HRESULT CALLBACK IClassFactory_LockServer_Proxy ( IClassFactory This,
BOOL  fLock 
)

Definition at line 1280 of file usrmarshal.c.

1283{
1284 FIXME(":stub\n");
1285 return E_NOTIMPL;
1286}

◆ IClassFactory_LockServer_Stub()

HRESULT __RPC_STUB IClassFactory_LockServer_Stub ( IClassFactory This,
BOOL  fLock 
)

Definition at line 1288 of file usrmarshal.c.

1291{
1292 FIXME(":stub\n");
1293 return E_NOTIMPL;
1294}

◆ IDataObject_GetData_Proxy()

HRESULT CALLBACK IDataObject_GetData_Proxy ( IDataObject This,
FORMATETC *  pformatetcIn,
STGMEDIUM *  pmedium 
)

Definition at line 1928 of file usrmarshal.c.

1932{
1933 TRACE("(%p)->(%p, %p)\n", This, pformatetcIn, pmedium);
1934 return IDataObject_RemoteGetData_Proxy(This, pformatetcIn, pmedium);
1935}

◆ IDataObject_GetData_Stub()

HRESULT __RPC_STUB IDataObject_GetData_Stub ( IDataObject This,
FORMATETC *  pformatetcIn,
STGMEDIUM *  pRemoteMedium 
)

Definition at line 1937 of file usrmarshal.c.

1941{
1942 TRACE("(%p)->(%p, %p)\n", This, pformatetcIn, pRemoteMedium);
1943 return IDataObject_GetData(This, pformatetcIn, pRemoteMedium);
1944}

◆ IDataObject_GetDataHere_Proxy()

HRESULT CALLBACK IDataObject_GetDataHere_Proxy ( IDataObject iface,
FORMATETC *  fmt,
STGMEDIUM *  med 
)

Definition at line 1946 of file usrmarshal.c.

1947{
1948 IUnknown *release;
1949 IStorage *stg = NULL;
1950 HRESULT hr;
1951
1952 TRACE("(%p)->(%p, %p)\n", iface, fmt, med);
1953
1954 if ((med->tymed & (TYMED_HGLOBAL | TYMED_FILE | TYMED_ISTREAM | TYMED_ISTORAGE)) == 0)
1955 return DV_E_TYMED;
1956 if (med->tymed != fmt->tymed)
1957 return DV_E_TYMED;
1958
1959 release = med->pUnkForRelease;
1960 med->pUnkForRelease = NULL;
1961
1962 if (med->tymed == TYMED_ISTREAM || med->tymed == TYMED_ISTORAGE)
1963 {
1964 stg = med->pstg; /* This may actually be a stream, but that's ok */
1965 if (stg) IStorage_AddRef( stg );
1966 }
1967
1968 hr = IDataObject_RemoteGetDataHere_Proxy(iface, fmt, med);
1969
1970 med->pUnkForRelease = release;
1971 if (stg)
1972 {
1973 if (med->pstg)
1974 IStorage_Release( med->pstg );
1975 med->pstg = stg;
1976 }
1977
1978 return hr;
1979}
HRESULT hr
Definition: shlfolder.c:183
Definition: dsound.c:943
#define DV_E_TYMED
Definition: winerror.h:3749

◆ IDataObject_GetDataHere_Stub()

HRESULT __RPC_STUB IDataObject_GetDataHere_Stub ( IDataObject This,
FORMATETC *  pformatetc,
STGMEDIUM *  pRemoteMedium 
)

Definition at line 1981 of file usrmarshal.c.

1985{
1986 TRACE("(%p)->(%p, %p)\n", This, pformatetc, pRemoteMedium);
1987 return IDataObject_GetDataHere(This, pformatetc, pRemoteMedium);
1988}

◆ IDataObject_SetData_Proxy()

HRESULT CALLBACK IDataObject_SetData_Proxy ( IDataObject This,
FORMATETC *  pformatetc,
STGMEDIUM *  pmedium,
BOOL  fRelease 
)

Definition at line 1990 of file usrmarshal.c.

1995{
1996 FIXME(":stub\n");
1997 return E_NOTIMPL;
1998}

◆ IDataObject_SetData_Stub()

HRESULT __RPC_STUB IDataObject_SetData_Stub ( IDataObject This,
FORMATETC *  pformatetc,
FLAG_STGMEDIUM *  pmedium,
BOOL  fRelease 
)

Definition at line 2000 of file usrmarshal.c.

2005{
2006 FIXME(":stub\n");
2007 return E_NOTIMPL;
2008}

◆ IEnumFORMATETC_Next_Proxy()

HRESULT CALLBACK IEnumFORMATETC_Next_Proxy ( IEnumFORMATETC This,
ULONG  celt,
FORMATETC *  rgelt,
ULONG pceltFetched 
)

Definition at line 1776 of file usrmarshal.c.

1781{
1782 ULONG fetched;
1783 if (!pceltFetched) pceltFetched = &fetched;
1784 return IEnumFORMATETC_RemoteNext_Proxy(This, celt, rgelt, pceltFetched);
1785}

◆ IEnumFORMATETC_Next_Stub()

HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub ( IEnumFORMATETC This,
ULONG  celt,
FORMATETC *  rgelt,
ULONG pceltFetched 
)

Definition at line 1787 of file usrmarshal.c.

1792{
1793 HRESULT hr;
1794 *pceltFetched = 0;
1795 hr = IEnumFORMATETC_Next(This, celt, rgelt, pceltFetched);
1796 if (hr == S_OK) *pceltFetched = celt;
1797 return hr;
1798}

◆ IEnumMoniker_Next_Proxy()

HRESULT CALLBACK IEnumMoniker_Next_Proxy ( IEnumMoniker This,
ULONG  celt,
IMoniker **  rgelt,
ULONG pceltFetched 
)

Definition at line 1356 of file usrmarshal.c.

1361{
1362 ULONG fetched;
1363 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
1364 if (!pceltFetched) pceltFetched = &fetched;
1365 return IEnumMoniker_RemoteNext_Proxy(This, celt, rgelt, pceltFetched);
1366}

◆ IEnumMoniker_Next_Stub()

HRESULT __RPC_STUB IEnumMoniker_Next_Stub ( IEnumMoniker This,
ULONG  celt,
IMoniker **  rgelt,
ULONG pceltFetched 
)

Definition at line 1368 of file usrmarshal.c.

1373{
1374 HRESULT hr;
1375 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
1376 *pceltFetched = 0;
1377 hr = IEnumMoniker_Next(This, celt, rgelt, pceltFetched);
1378 if (hr == S_OK) *pceltFetched = celt;
1379 return hr;
1380}

◆ IEnumOLEVERB_Next_Proxy()

HRESULT CALLBACK IEnumOLEVERB_Next_Proxy ( IEnumOLEVERB This,
ULONG  celt,
LPOLEVERB  rgelt,
ULONG pceltFetched 
)

Definition at line 2068 of file usrmarshal.c.

2073{
2074 ULONG fetched;
2075 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
2076 if (!pceltFetched) pceltFetched = &fetched;
2077 return IEnumOLEVERB_RemoteNext_Proxy(This, celt, rgelt, pceltFetched);
2078}

◆ IEnumOLEVERB_Next_Stub()

HRESULT __RPC_STUB IEnumOLEVERB_Next_Stub ( IEnumOLEVERB This,
ULONG  celt,
LPOLEVERB  rgelt,
ULONG pceltFetched 
)

Definition at line 2080 of file usrmarshal.c.

2085{
2086 HRESULT hr;
2087 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
2088 *pceltFetched = 0;
2089 hr = IEnumOLEVERB_Next(This, celt, rgelt, pceltFetched);
2090 if (hr == S_OK) *pceltFetched = celt;
2091 return hr;
2092}

◆ IEnumSTATDATA_Next_Proxy()

HRESULT CALLBACK IEnumSTATDATA_Next_Proxy ( IEnumSTATDATA This,
ULONG  celt,
STATDATA *  rgelt,
ULONG pceltFetched 
)

Definition at line 1800 of file usrmarshal.c.

1805{
1806 ULONG fetched;
1807 TRACE("%p, %ld, %p, %p.\n", This, celt, rgelt, pceltFetched);
1808 if (!pceltFetched) pceltFetched = &fetched;
1809 return IEnumSTATDATA_RemoteNext_Proxy(This, celt, rgelt, pceltFetched);
1810}

◆ IEnumSTATDATA_Next_Stub()

HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub ( IEnumSTATDATA This,
ULONG  celt,
STATDATA *  rgelt,
ULONG pceltFetched 
)

Definition at line 1812 of file usrmarshal.c.

1817{
1818 HRESULT hr;
1819 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
1820 *pceltFetched = 0;
1821 hr = IEnumSTATDATA_Next(This, celt, rgelt, pceltFetched);
1822 if (hr == S_OK) *pceltFetched = celt;
1823 return hr;
1824}

◆ IEnumSTATSTG_Next_Proxy()

HRESULT CALLBACK IEnumSTATSTG_Next_Proxy ( IEnumSTATSTG This,
ULONG  celt,
STATSTG *  rgelt,
ULONG pceltFetched 
)

Definition at line 1580 of file usrmarshal.c.

1585{
1586 ULONG fetched;
1587 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
1588 if (!pceltFetched) pceltFetched = &fetched;
1589 return IEnumSTATSTG_RemoteNext_Proxy(This, celt, rgelt, pceltFetched);
1590}

◆ IEnumSTATSTG_Next_Stub()

HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub ( IEnumSTATSTG This,
ULONG  celt,
STATSTG *  rgelt,
ULONG pceltFetched 
)

Definition at line 1592 of file usrmarshal.c.

1597{
1598 HRESULT hr;
1599 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
1600 *pceltFetched = 0;
1601 hr = IEnumSTATSTG_Next(This, celt, rgelt, pceltFetched);
1602 if (hr == S_OK) *pceltFetched = celt;
1603 return hr;
1604}

◆ IEnumString_Next_Proxy()

HRESULT CALLBACK IEnumString_Next_Proxy ( IEnumString This,
ULONG  celt,
LPOLESTR rgelt,
ULONG pceltFetched 
)

Definition at line 1442 of file usrmarshal.c.

1447{
1448 ULONG fetched;
1449 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
1450 if (!pceltFetched) pceltFetched = &fetched;
1451 return IEnumString_RemoteNext_Proxy(This, celt, rgelt, pceltFetched);
1452}

◆ IEnumString_Next_Stub()

HRESULT __RPC_STUB IEnumString_Next_Stub ( IEnumString This,
ULONG  celt,
LPOLESTR rgelt,
ULONG pceltFetched 
)

Definition at line 1454 of file usrmarshal.c.

1459{
1460 HRESULT hr;
1461 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
1462 *pceltFetched = 0;
1463 hr = IEnumString_Next(This, celt, rgelt, pceltFetched);
1464 if (hr == S_OK) *pceltFetched = celt;
1465 return hr;
1466}

◆ IEnumUnknown_Next_Proxy()

HRESULT CALLBACK IEnumUnknown_Next_Proxy ( IEnumUnknown This,
ULONG  celt,
IUnknown **  rgelt,
ULONG pceltFetched 
)

Definition at line 1298 of file usrmarshal.c.

1303{
1304 ULONG fetched;
1305 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
1306 if (!pceltFetched) pceltFetched = &fetched;
1307 return IEnumUnknown_RemoteNext_Proxy(This, celt, rgelt, pceltFetched);
1308}

◆ IEnumUnknown_Next_Stub()

HRESULT __RPC_STUB IEnumUnknown_Next_Stub ( IEnumUnknown This,
ULONG  celt,
IUnknown **  rgelt,
ULONG pceltFetched 
)

Definition at line 1310 of file usrmarshal.c.

1315{
1316 HRESULT hr;
1317 TRACE("%p, %lu, %p, %p.\n", This, celt, rgelt, pceltFetched);
1318 *pceltFetched = 0;
1319 hr = IEnumUnknown_Next(This, celt, rgelt, pceltFetched);
1320 if (hr == S_OK) *pceltFetched = celt;
1321 return hr;
1322}

◆ IFillLockBytes_FillAppend_Proxy()

HRESULT CALLBACK IFillLockBytes_FillAppend_Proxy ( IFillLockBytes This,
const void pv,
ULONG  cb,
ULONG pcbWritten 
)

Definition at line 1720 of file usrmarshal.c.

1725{
1726 ULONG written;
1727 HRESULT hr;
1728
1729 TRACE("%p, %p, %lu, %p.\n", This, pv, cb, pcbWritten);
1730
1731 hr = IFillLockBytes_RemoteFillAppend_Proxy(This, pv, cb, &written);
1732 if(pcbWritten) *pcbWritten = written;
1733
1734 return hr;
1735}
static MonoProfilerRuntimeShutdownBeginCallback cb
Definition: metahost.c:118

◆ IFillLockBytes_FillAppend_Stub()

HRESULT __RPC_STUB IFillLockBytes_FillAppend_Stub ( IFillLockBytes This,
const byte pv,
ULONG  cb,
ULONG pcbWritten 
)

Definition at line 1737 of file usrmarshal.c.

1742{
1743 TRACE("%p, %p, %lu, %p.\n", This, pv, cb, pcbWritten);
1744 return IFillLockBytes_FillAppend(This, pv, cb, pcbWritten);
1745}

◆ IFillLockBytes_FillAt_Proxy()

HRESULT CALLBACK IFillLockBytes_FillAt_Proxy ( IFillLockBytes This,
ULARGE_INTEGER  ulOffset,
const void pv,
ULONG  cb,
ULONG pcbWritten 
)

Definition at line 1747 of file usrmarshal.c.

1753{
1754 ULONG written;
1755 HRESULT hr;
1756
1757 TRACE("%p, %s, %p, %lu, %p.\n", This, wine_dbgstr_longlong(ulOffset.QuadPart), pv, cb, pcbWritten);
1758
1759 hr = IFillLockBytes_RemoteFillAt_Proxy(This, ulOffset, pv, cb, &written);
1760 if(pcbWritten) *pcbWritten = written;
1761
1762 return hr;
1763}
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:49
ULONGLONG QuadPart
Definition: ms-dtyp.idl:185

◆ IFillLockBytes_FillAt_Stub()

HRESULT __RPC_STUB IFillLockBytes_FillAt_Stub ( IFillLockBytes This,
ULARGE_INTEGER  ulOffset,
const byte pv,
ULONG  cb,
ULONG pcbWritten 
)

Definition at line 1765 of file usrmarshal.c.

1771{
1772 TRACE("%p, %s, %p, %ld, %p.\n", This, wine_dbgstr_longlong(ulOffset.QuadPart), pv, cb, pcbWritten);
1773 return IFillLockBytes_FillAt(This, ulOffset, pv, cb, pcbWritten);
1774}

◆ ILockBytes_ReadAt_Proxy()

HRESULT CALLBACK ILockBytes_ReadAt_Proxy ( ILockBytes This,
ULARGE_INTEGER  ulOffset,
void pv,
ULONG  cb,
ULONG pcbRead 
)

Definition at line 1662 of file usrmarshal.c.

1668{
1669 ULONG read;
1670 HRESULT hr;
1671
1672 TRACE("%p, %s, %p, %lu, %p.\n", This, wine_dbgstr_longlong(ulOffset.QuadPart), pv, cb, pcbRead);
1673
1674 hr = ILockBytes_RemoteReadAt_Proxy(This, ulOffset, pv, cb, &read);
1675 if(pcbRead) *pcbRead = read;
1676
1677 return hr;
1678}
#define read
Definition: acwin.h:96

◆ ILockBytes_ReadAt_Stub()

HRESULT __RPC_STUB ILockBytes_ReadAt_Stub ( ILockBytes This,
ULARGE_INTEGER  ulOffset,
byte pv,
ULONG  cb,
ULONG pcbRead 
)

Definition at line 1680 of file usrmarshal.c.

1686{
1687 TRACE("%p, %s, %p, %lu, %p.\n", This, wine_dbgstr_longlong(ulOffset.QuadPart), pv, cb, pcbRead);
1688 return ILockBytes_ReadAt(This, ulOffset, pv, cb, pcbRead);
1689}

◆ ILockBytes_WriteAt_Proxy()

HRESULT CALLBACK ILockBytes_WriteAt_Proxy ( ILockBytes This,
ULARGE_INTEGER  ulOffset,
const void pv,
ULONG  cb,
ULONG pcbWritten 
)

Definition at line 1691 of file usrmarshal.c.

1697{
1698 ULONG written;
1699 HRESULT hr;
1700
1701 TRACE("%p, %s, %p, %lu, %p.\n", This, wine_dbgstr_longlong(ulOffset.QuadPart), pv, cb, pcbWritten);
1702
1703 hr = ILockBytes_RemoteWriteAt_Proxy(This, ulOffset, pv, cb, &written);
1704 if(pcbWritten) *pcbWritten = written;
1705
1706 return hr;
1707}

◆ ILockBytes_WriteAt_Stub()

HRESULT __RPC_STUB ILockBytes_WriteAt_Stub ( ILockBytes This,
ULARGE_INTEGER  ulOffset,
const byte pv,
ULONG  cb,
ULONG pcbWritten 
)

Definition at line 1709 of file usrmarshal.c.

1715{
1716 TRACE("%p, %s, %p, %lu, %p.\n", This, wine_dbgstr_longlong(ulOffset.QuadPart), pv, cb, pcbWritten);
1717 return ILockBytes_WriteAt(This, ulOffset, pv, cb, pcbWritten);
1718}

◆ IMoniker_BindToObject_Proxy()

HRESULT CALLBACK IMoniker_BindToObject_Proxy ( IMoniker This,
IBindCtx pbc,
IMoniker pmkToLeft,
REFIID  riidResult,
void **  ppvResult 
)

Definition at line 1398 of file usrmarshal.c.

1404{
1405 FIXME(":stub\n");
1406 return E_NOTIMPL;
1407}

◆ IMoniker_BindToObject_Stub()

HRESULT __RPC_STUB IMoniker_BindToObject_Stub ( IMoniker This,
IBindCtx pbc,
IMoniker pmkToLeft,
REFIID  riidResult,
IUnknown **  ppvResult 
)

Definition at line 1409 of file usrmarshal.c.

1415{
1416 FIXME(":stub\n");
1417 return E_NOTIMPL;
1418}

◆ IMoniker_BindToStorage_Proxy()

HRESULT CALLBACK IMoniker_BindToStorage_Proxy ( IMoniker This,
IBindCtx pbc,
IMoniker pmkToLeft,
REFIID  riid,
void **  ppvObj 
)

Definition at line 1420 of file usrmarshal.c.

1426{
1427 TRACE("(%p)->(%p %p %s %p)\n", This, pbc, pmkToLeft, debugstr_guid(riid), ppvObj);
1428 return IMoniker_RemoteBindToStorage_Proxy(This, pbc, pmkToLeft, riid, (IUnknown**)ppvObj);
1429}

◆ IMoniker_BindToStorage_Stub()

HRESULT __RPC_STUB IMoniker_BindToStorage_Stub ( IMoniker This,
IBindCtx pbc,
IMoniker pmkToLeft,
REFIID  riid,
IUnknown **  ppvObj 
)

Definition at line 1431 of file usrmarshal.c.

1437{
1438 TRACE("(%p)->(%p %p %s %p)\n", This, pbc, pmkToLeft, debugstr_guid(riid), ppvObj);
1439 return IMoniker_BindToStorage(This, pbc, pmkToLeft, riid, (void**)ppvObj);
1440}

◆ IOleCache2_UpdateCache_Proxy()

HRESULT CALLBACK IOleCache2_UpdateCache_Proxy ( IOleCache2 This,
LPDATAOBJECT  pDataObject,
DWORD  grfUpdf,
LPVOID  pReserved 
)

Definition at line 2048 of file usrmarshal.c.

2053{
2054 TRACE("%p, %p, %#lx, %p.\n", This, pDataObject, grfUpdf, pReserved);
2055 return IOleCache2_RemoteUpdateCache_Proxy(This, pDataObject, grfUpdf, (LONG_PTR)pReserved);
2056}
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
_Out_ PVOID pReserved
Definition: netsh.h:77

◆ IOleCache2_UpdateCache_Stub()

HRESULT __RPC_STUB IOleCache2_UpdateCache_Stub ( IOleCache2 This,
LPDATAOBJECT  pDataObject,
DWORD  grfUpdf,
LONG_PTR  pReserved 
)

Definition at line 2058 of file usrmarshal.c.

2063{
2064 TRACE("%p, %p, %#lx, %Id.\n", This, pDataObject, grfUpdf, pReserved);
2065 return IOleCache2_UpdateCache(This, pDataObject, grfUpdf, (void*)pReserved);
2066}

◆ IOleInPlaceActiveObject_ResizeBorder_Proxy()

HRESULT CALLBACK IOleInPlaceActiveObject_ResizeBorder_Proxy ( IOleInPlaceActiveObject This,
LPCRECT  prcBorder,
IOleInPlaceUIWindow pUIWindow,
BOOL  fFrameWindow 
)

Definition at line 2027 of file usrmarshal.c.

2032{
2033 FIXME(":stub\n");
2034 return E_NOTIMPL;
2035}

◆ IOleInPlaceActiveObject_ResizeBorder_Stub()

HRESULT __RPC_STUB IOleInPlaceActiveObject_ResizeBorder_Stub ( IOleInPlaceActiveObject This,
LPCRECT  prcBorder,
REFIID  riid,
IOleInPlaceUIWindow pUIWindow,
BOOL  fFrameWindow 
)

Definition at line 2037 of file usrmarshal.c.

2043{
2044 FIXME(":stub\n");
2045 return E_NOTIMPL;
2046}

◆ IOleInPlaceActiveObject_TranslateAccelerator_Proxy()

HRESULT CALLBACK IOleInPlaceActiveObject_TranslateAccelerator_Proxy ( IOleInPlaceActiveObject This,
LPMSG  lpmsg 
)

Definition at line 2012 of file usrmarshal.c.

2015{
2016 TRACE("(%p %p)\n", This, lpmsg);
2017 return IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy(This);
2018}

◆ IOleInPlaceActiveObject_TranslateAccelerator_Stub()

HRESULT __RPC_STUB IOleInPlaceActiveObject_TranslateAccelerator_Stub ( IOleInPlaceActiveObject This)

Definition at line 2020 of file usrmarshal.c.

2022{
2023 TRACE("(%p)\n", This);
2024 return S_FALSE;
2025}
#define S_FALSE
Definition: winerror.h:3451

◆ IRunnableObject_IsRunning_Proxy()

BOOL CALLBACK IRunnableObject_IsRunning_Proxy ( IRunnableObject This)

Definition at line 1382 of file usrmarshal.c.

1384{
1385 BOOL rv;
1386 FIXME(":stub\n");
1387 memset(&rv, 0, sizeof rv);
1388 return rv;
1389}
unsigned int BOOL
Definition: ntddk_ex.h:94
#define memset(x, y, z)
Definition: compat.h:39

◆ IRunnableObject_IsRunning_Stub()

HRESULT __RPC_STUB IRunnableObject_IsRunning_Stub ( IRunnableObject This)

Definition at line 1391 of file usrmarshal.c.

1393{
1394 FIXME(":stub\n");
1395 return E_NOTIMPL;
1396}

◆ ISequentialStream_Read_Proxy()

HRESULT CALLBACK ISequentialStream_Read_Proxy ( ISequentialStream This,
void pv,
ULONG  cb,
ULONG pcbRead 
)

Definition at line 1468 of file usrmarshal.c.

1473{
1474 ULONG read;
1475 HRESULT hr;
1476
1477 TRACE("%p, %p, %lu, %p.\n", This, pv, cb, pcbRead);
1478
1479 hr = ISequentialStream_RemoteRead_Proxy(This, pv, cb, &read);
1480 if(pcbRead) *pcbRead = read;
1481
1482 return hr;
1483}

◆ ISequentialStream_Read_Stub()

HRESULT __RPC_STUB ISequentialStream_Read_Stub ( ISequentialStream This,
byte pv,
ULONG  cb,
ULONG pcbRead 
)

Definition at line 1485 of file usrmarshal.c.

1490{
1491 TRACE("%p, %p, %lu, %p.\n", This, pv, cb, pcbRead);
1492 return ISequentialStream_Read(This, pv, cb, pcbRead);
1493}

◆ ISequentialStream_Write_Proxy()

HRESULT CALLBACK ISequentialStream_Write_Proxy ( ISequentialStream This,
const void pv,
ULONG  cb,
ULONG pcbWritten 
)

Definition at line 1495 of file usrmarshal.c.

1500{
1501 ULONG written;
1502 HRESULT hr;
1503
1504 TRACE("%p, %p, %lu, %p.\n", This, pv, cb, pcbWritten);
1505
1506 hr = ISequentialStream_RemoteWrite_Proxy(This, pv, cb, &written);
1507 if(pcbWritten) *pcbWritten = written;
1508
1509 return hr;
1510}

◆ ISequentialStream_Write_Stub()

HRESULT __RPC_STUB ISequentialStream_Write_Stub ( ISequentialStream This,
const byte pv,
ULONG  cb,
ULONG pcbWritten 
)

Definition at line 1512 of file usrmarshal.c.

1517{
1518 TRACE("%p, %p, %lu, %p.\n", This, pv, cb, pcbWritten);
1519 return ISequentialStream_Write(This, pv, cb, pcbWritten);
1520}

◆ IStorage_EnumElements_Proxy()

HRESULT CALLBACK IStorage_EnumElements_Proxy ( IStorage This,
DWORD  reserved1,
void reserved2,
DWORD  reserved3,
IEnumSTATSTG **  ppenum 
)

Definition at line 1635 of file usrmarshal.c.

1641{
1642 TRACE("%p, %ld, %p, %ld, %p.\n", This, reserved1, reserved2, reserved3, ppenum);
1643 if(reserved2) WARN("reserved2 %p\n", reserved2);
1644
1645 return IStorage_RemoteEnumElements_Proxy(This, reserved1, 0, NULL, reserved3, ppenum);
1646}
#define WARN(fmt,...)
Definition: precomp.h:61
uint8_t reserved2[12]
Definition: fsck.fat.h:23
uint8_t reserved3
Definition: fsck.fat.h:26

◆ IStorage_EnumElements_Stub()

HRESULT __RPC_STUB IStorage_EnumElements_Stub ( IStorage This,
DWORD  reserved1,
ULONG  cbReserved2,
byte reserved2,
DWORD  reserved3,
IEnumSTATSTG **  ppenum 
)

Definition at line 1648 of file usrmarshal.c.

1655{
1656 TRACE("%p, %ld, %ld, %p, %ld, %p.\n", This, reserved1, cbReserved2, reserved2, reserved3, ppenum);
1657 if(cbReserved2 || reserved2) WARN("cbReserved2 %ld reserved2 %p\n", cbReserved2, reserved2);
1658
1659 return IStorage_EnumElements(This, reserved1, NULL, reserved3, ppenum);
1660}

◆ IStorage_OpenStream_Proxy()

HRESULT CALLBACK IStorage_OpenStream_Proxy ( IStorage This,
LPCOLESTR  pwcsName,
void reserved1,
DWORD  grfMode,
DWORD  reserved2,
IStream **  ppstm 
)

Definition at line 1606 of file usrmarshal.c.

1613{
1614 TRACE("%p, %s, %p, %#lx, %ld, %p.\n", This, debugstr_w(pwcsName), reserved1, grfMode, reserved2, ppstm);
1615 if(reserved1) WARN("reserved1 %p\n", reserved1);
1616
1617 return IStorage_RemoteOpenStream_Proxy(This, pwcsName, 0, NULL, grfMode, reserved2, ppstm);
1618}
#define debugstr_w
Definition: kernel32.h:32

◆ IStorage_OpenStream_Stub()

HRESULT __RPC_STUB IStorage_OpenStream_Stub ( IStorage This,
LPCOLESTR  pwcsName,
ULONG  cbReserved1,
byte reserved1,
DWORD  grfMode,
DWORD  reserved2,
IStream **  ppstm 
)

Definition at line 1620 of file usrmarshal.c.

1628{
1629 TRACE("%p, %s, %ld, %p, %#lx, %ld, %p.\n", This, debugstr_w(pwcsName), cbReserved1, reserved1, grfMode, reserved2, ppstm);
1630 if(cbReserved1 || reserved1) WARN("cbReserved1 %ld reserved1 %p\n", cbReserved1, reserved1);
1631
1632 return IStorage_OpenStream(This, pwcsName, NULL, grfMode, reserved2, ppstm);
1633}

◆ IStream_CopyTo_Proxy()

HRESULT CALLBACK IStream_CopyTo_Proxy ( IStream This,
IStream pstm,
ULARGE_INTEGER  cb,
ULARGE_INTEGER pcbRead,
ULARGE_INTEGER pcbWritten 
)

Definition at line 1549 of file usrmarshal.c.

1555{
1556 ULARGE_INTEGER read, written;
1557 HRESULT hr;
1558
1559 TRACE("(%p)->(%p, %s, %p, %p)\n", This, pstm, wine_dbgstr_longlong(cb.QuadPart), pcbRead, pcbWritten);
1560
1561 hr = IStream_RemoteCopyTo_Proxy(This, pstm, cb, &read, &written);
1562 if(pcbRead) *pcbRead = read;
1563 if(pcbWritten) *pcbWritten = written;
1564
1565 return hr;
1566}

◆ IStream_CopyTo_Stub()

HRESULT __RPC_STUB IStream_CopyTo_Stub ( IStream This,
IStream pstm,
ULARGE_INTEGER  cb,
ULARGE_INTEGER pcbRead,
ULARGE_INTEGER pcbWritten 
)

Definition at line 1568 of file usrmarshal.c.

1574{
1575 TRACE("(%p)->(%p, %s, %p, %p)\n", This, pstm, wine_dbgstr_longlong(cb.QuadPart), pcbRead, pcbWritten);
1576
1577 return IStream_CopyTo(This, pstm, cb, pcbRead, pcbWritten);
1578}

◆ IStream_Seek_Proxy()

HRESULT CALLBACK IStream_Seek_Proxy ( IStream This,
LARGE_INTEGER  dlibMove,
DWORD  dwOrigin,
ULARGE_INTEGER plibNewPosition 
)

Definition at line 1522 of file usrmarshal.c.

1527{
1528 ULARGE_INTEGER newpos;
1529 HRESULT hr;
1530
1531 TRACE("%p, %s, %ld, %p.\n", This, wine_dbgstr_longlong(dlibMove.QuadPart), dwOrigin, plibNewPosition);
1532
1533 hr = IStream_RemoteSeek_Proxy(This, dlibMove, dwOrigin, &newpos);
1534 if(plibNewPosition) *plibNewPosition = newpos;
1535
1536 return hr;
1537}
LONGLONG QuadPart
Definition: typedefs.h:114

◆ IStream_Seek_Stub()

HRESULT __RPC_STUB IStream_Seek_Stub ( IStream This,
LARGE_INTEGER  dlibMove,
DWORD  dwOrigin,
ULARGE_INTEGER plibNewPosition 
)

Definition at line 1539 of file usrmarshal.c.

1544{
1545 TRACE("%p, %s, %ld, %p.\n", This, wine_dbgstr_longlong(dlibMove.QuadPart), dwOrigin, plibNewPosition);
1546 return IStream_Seek(This, dlibMove, dwOrigin, plibNewPosition);
1547}

◆ IViewObject_Draw_Proxy()

HRESULT CALLBACK IViewObject_Draw_Proxy ( IViewObject This,
DWORD  dwDrawAspect,
LONG  lindex,
void pvAspect,
DVTARGETDEVICE *  ptd,
HDC  hdcTargetDev,
HDC  hdcDraw,
LPCRECTL  lprcBounds,
LPCRECTL  lprcWBounds,
BOOL(STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue)  ,
ULONG_PTR  dwContinue 
)

Definition at line 2094 of file usrmarshal.c.

2106{
2107 FIXME(":stub\n");
2108 return E_NOTIMPL;
2109}

◆ IViewObject_Draw_Stub()

HRESULT __RPC_STUB IViewObject_Draw_Stub ( IViewObject This,
DWORD  dwDrawAspect,
LONG  lindex,
ULONG_PTR  pvAspect,
DVTARGETDEVICE *  ptd,
ULONG_PTR  hdcTargetDev,
ULONG_PTR  hdcDraw,
LPCRECTL  lprcBounds,
LPCRECTL  lprcWBounds,
IContinue pContinue 
)

Definition at line 2111 of file usrmarshal.c.

2122{
2123 FIXME(":stub\n");
2124 return E_NOTIMPL;
2125}

◆ IViewObject_Freeze_Proxy()

HRESULT CALLBACK IViewObject_Freeze_Proxy ( IViewObject This,
DWORD  dwDrawAspect,
LONG  lindex,
void pvAspect,
DWORD pdwFreeze 
)

Definition at line 2153 of file usrmarshal.c.

2159{
2160 FIXME(":stub\n");
2161 return E_NOTIMPL;
2162}

◆ IViewObject_Freeze_Stub()

HRESULT __RPC_STUB IViewObject_Freeze_Stub ( IViewObject This,
DWORD  dwDrawAspect,
LONG  lindex,
ULONG_PTR  pvAspect,
DWORD pdwFreeze 
)

Definition at line 2164 of file usrmarshal.c.

2170{
2171 FIXME(":stub\n");
2172 return E_NOTIMPL;
2173}

◆ IViewObject_GetAdvise_Proxy()

HRESULT CALLBACK IViewObject_GetAdvise_Proxy ( IViewObject This,
DWORD pAspects,
DWORD pAdvf,
IAdviseSink **  ppAdvSink 
)

Definition at line 2175 of file usrmarshal.c.

2180{
2181 FIXME(":stub\n");
2182 return E_NOTIMPL;
2183}

◆ IViewObject_GetAdvise_Stub()

HRESULT __RPC_STUB IViewObject_GetAdvise_Stub ( IViewObject This,
DWORD pAspects,
DWORD pAdvf,
IAdviseSink **  ppAdvSink 
)

Definition at line 2185 of file usrmarshal.c.

2190{
2191 FIXME(":stub\n");
2192 return E_NOTIMPL;
2193}

◆ IViewObject_GetColorSet_Proxy()

HRESULT CALLBACK IViewObject_GetColorSet_Proxy ( IViewObject This,
DWORD  dwDrawAspect,
LONG  lindex,
void pvAspect,
DVTARGETDEVICE *  ptd,
HDC  hicTargetDev,
LOGPALETTE **  ppColorSet 
)

Definition at line 2127 of file usrmarshal.c.

2135{
2136 FIXME(":stub\n");
2137 return E_NOTIMPL;
2138}

◆ IViewObject_GetColorSet_Stub()

HRESULT __RPC_STUB IViewObject_GetColorSet_Stub ( IViewObject This,
DWORD  dwDrawAspect,
LONG  lindex,
ULONG_PTR  pvAspect,
DVTARGETDEVICE *  ptd,
ULONG_PTR  hicTargetDev,
LOGPALETTE **  ppColorSet 
)

Definition at line 2140 of file usrmarshal.c.

2148{
2149 FIXME(":stub\n");
2150 return E_NOTIMPL;
2151}

◆ SNB_UserFree()

void __RPC_USER SNB_UserFree ( ULONG pFlags,
SNB *  pSnb 
)

Definition at line 1244 of file usrmarshal.c.

1245{
1246 USER_MARSHAL_CB *umcb = (USER_MARSHAL_CB*)pFlags;
1247 TRACE("(%p)\n", pSnb);
1248 if (*pSnb)
1249 umcb->pStubMsg->pfnFree(*pSnb);
1250}
PMIDL_STUB_MESSAGE pStubMsg
Definition: rpcndr.h:316

Referenced by test_marshal_SNB().

◆ SNB_UserMarshal()

unsigned char *__RPC_USER SNB_UserMarshal ( ULONG pFlags,
unsigned char pBuffer,
SNB *  pSnb 
)

Definition at line 1170 of file usrmarshal.c.

1171{
1172 struct SNB_wire *wire;
1173 ULONG size;
1174
1175 TRACE("(%s, %p, %p)\n", debugstr_user_flags(pFlags), pBuffer, pSnb);
1176
1178
1179 wire = (struct SNB_wire*)pBuffer;
1180 wire->charcnt = wire->strcnt = 0;
1181 size = 3*sizeof(ULONG);
1182
1183 if (*pSnb)
1184 {
1185 WCHAR **ptrW = *pSnb;
1186 WCHAR *dataW = wire->data;
1187
1188 while (*ptrW)
1189 {
1190 ULONG len = lstrlenW(*ptrW) + 1;
1191
1192 wire->strcnt++;
1193 wire->charcnt += len;
1194 memcpy(dataW, *ptrW, len*sizeof(WCHAR));
1195 dataW += len;
1196
1197 size += len*sizeof(WCHAR);
1198 ptrW++;
1199 }
1200 }
1201
1202 wire->datalen = wire->charcnt;
1203 return pBuffer + size;
1204}
#define lstrlenW
Definition: compat.h:750
GLenum GLsizei len
Definition: glext.h:6722
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
WCHAR data[1]
Definition: usrmarshal.c:1167
ULONG strcnt
Definition: usrmarshal.c:1165
ULONG datalen
Definition: usrmarshal.c:1166
ULONG charcnt
Definition: usrmarshal.c:1164
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by test_marshal_SNB().

◆ SNB_UserSize()

ULONG __RPC_USER SNB_UserSize ( ULONG pFlags,
ULONG  StartingSize,
SNB *  pSnb 
)

Definition at line 1137 of file usrmarshal.c.

1138{
1139 ULONG size = StartingSize;
1140
1141 TRACE("%s, %lu, %p.\n", debugstr_user_flags(pFlags), StartingSize, pSnb);
1142
1143 ALIGN_LENGTH(size, 3);
1144
1145 /* two counters from RemSNB header, plus one more ULONG */
1146 size += 3*sizeof(ULONG);
1147
1148 /* now actual data length */
1149 if (*pSnb)
1150 {
1151 WCHAR **ptrW = *pSnb;
1152
1153 while (*ptrW)
1154 {
1155 size += (lstrlenW(*ptrW) + 1)*sizeof(WCHAR);
1156 ptrW++;
1157 }
1158 }
1159
1160 return size;
1161}

Referenced by test_marshal_SNB().

◆ SNB_UserUnmarshal()

unsigned char *__RPC_USER SNB_UserUnmarshal ( ULONG pFlags,
unsigned char pBuffer,
SNB *  pSnb 
)

Definition at line 1206 of file usrmarshal.c.

1207{
1208 USER_MARSHAL_CB *umcb = (USER_MARSHAL_CB*)pFlags;
1209 struct SNB_wire *wire;
1210
1211 TRACE("(%s, %p, %p)\n", debugstr_user_flags(pFlags), pBuffer, pSnb);
1212
1213 wire = (struct SNB_wire*)pBuffer;
1214
1215 if (*pSnb)
1216 umcb->pStubMsg->pfnFree(*pSnb);
1217
1218 if (wire->datalen == 0)
1219 *pSnb = NULL;
1220 else
1221 {
1222 WCHAR *src = wire->data, *dest;
1223 WCHAR **ptrW;
1224 ULONG i;
1225
1226 ptrW = *pSnb = umcb->pStubMsg->pfnAllocate((wire->strcnt+1)*sizeof(WCHAR*) + wire->datalen*sizeof(WCHAR));
1227 dest = (WCHAR*)(*pSnb + wire->strcnt + 1);
1228
1229 for (i = 0; i < wire->strcnt; i++)
1230 {
1231 ULONG len = lstrlenW(src);
1232 memcpy(dest, src, (len + 1)*sizeof(WCHAR));
1233 *ptrW = dest;
1234 src += len + 1;
1235 dest += len + 1;
1236 ptrW++;
1237 }
1238 *ptrW = NULL;
1239 }
1240
1241 return pBuffer + 3*sizeof(ULONG) + wire->datalen*sizeof(WCHAR);
1242}
GLenum src
Definition: glext.h:6340
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static char * dest
Definition: rtl.c:135

Referenced by test_marshal_SNB().

◆ STGMEDIUM_UserFree()

void __RPC_USER STGMEDIUM_UserFree ( ULONG flags,
STGMEDIUM *  med 
)

Definition at line 1065 of file usrmarshal.c.

1066{
1067 TRACE("(%s, %p)\n", debugstr_user_flags(flags), med);
1068
1069 switch (med->tymed)
1070 {
1071 case TYMED_NULL:
1072 case TYMED_FILE:
1073 case TYMED_ISTREAM:
1074 case TYMED_ISTORAGE:
1075 ReleaseStgMedium(med);
1076 break;
1077 case TYMED_HGLOBAL:
1078 case TYMED_GDI:
1079 case TYMED_MFPICT:
1080 case TYMED_ENHMF:
1081 if (LOWORD(*flags) == MSHCTX_INPROC)
1082 med->tymed = TYMED_NULL;
1083 ReleaseStgMedium(med);
1084 break;
1085 default:
1087 }
1088}
void WINAPI ReleaseStgMedium(STGMEDIUM *pmedium)
Definition: ole2.c:2014
GLbitfield flags
Definition: glext.h:7161

Referenced by ASYNC_STGMEDIUM_UserFree(), and marshal_STGMEDIUM().

◆ STGMEDIUM_UserMarshal()

unsigned char *__RPC_USER STGMEDIUM_UserMarshal ( ULONG pFlags,
unsigned char pBuffer,
STGMEDIUM *  pStgMedium 
)

Definition at line 813 of file usrmarshal.c.

814{
815 TRACE("(%s, %p, %p\n", debugstr_user_flags(pFlags), pBuffer, pStgMedium);
816
818
819 *(DWORD *)pBuffer = pStgMedium->tymed;
820 pBuffer += sizeof(DWORD);
821 if (pStgMedium->tymed != TYMED_NULL)
822 {
823 *(DWORD *)pBuffer = (DWORD)(DWORD_PTR)pStgMedium->pstg;
824 pBuffer += sizeof(DWORD);
825 }
826 *(DWORD *)pBuffer = (DWORD)(DWORD_PTR)pStgMedium->pUnkForRelease;
827 pBuffer += sizeof(DWORD);
828
829 switch (pStgMedium->tymed)
830 {
831 case TYMED_NULL:
832 TRACE("TYMED_NULL\n");
833 break;
834 case TYMED_HGLOBAL:
835 TRACE("TYMED_HGLOBAL\n");
836 if (pStgMedium->hGlobal)
837 pBuffer = HGLOBAL_UserMarshal(pFlags, pBuffer, &pStgMedium->hGlobal);
838 break;
839 case TYMED_FILE:
840 TRACE("TYMED_FILE\n");
841 if (pStgMedium->lpszFileName)
842 {
843 DWORD len;
844 len = lstrlenW(pStgMedium->lpszFileName);
845 /* conformance */
846 *(DWORD *)pBuffer = len + 1;
847 pBuffer += sizeof(DWORD);
848 /* offset */
849 *(DWORD *)pBuffer = 0;
850 pBuffer += sizeof(DWORD);
851 /* variance */
852 *(DWORD *)pBuffer = len + 1;
853 pBuffer += sizeof(DWORD);
854
855 TRACE("file name is %s\n", debugstr_w(pStgMedium->lpszFileName));
856 memcpy(pBuffer, pStgMedium->lpszFileName, (len + 1) * sizeof(WCHAR));
857 }
858 break;
859 case TYMED_ISTREAM:
860 TRACE("TYMED_ISTREAM\n");
861 if (pStgMedium->pstm)
862 {
863 IUnknown *unk;
864 IStream_QueryInterface(pStgMedium->pstm, &IID_IUnknown, (void**)&unk);
865 pBuffer = WdtpInterfacePointer_UserMarshal(pFlags, LOWORD(*pFlags), pBuffer, unk, &IID_IStream);
866 IUnknown_Release(unk);
867 }
868 break;
869 case TYMED_ISTORAGE:
870 TRACE("TYMED_ISTORAGE\n");
871 if (pStgMedium->pstg)
872 {
873 IUnknown *unk;
874 IStorage_QueryInterface(pStgMedium->pstg, &IID_IUnknown, (void**)&unk);
875 pBuffer = WdtpInterfacePointer_UserMarshal(pFlags, LOWORD(*pFlags), pBuffer, unk, &IID_IStorage);
876 IUnknown_Release(unk);
877 }
878 break;
879 case TYMED_GDI:
880 TRACE("TYMED_GDI\n");
881 if (pStgMedium->hBitmap)
882 pBuffer = HBITMAP_UserMarshal(pFlags, pBuffer, &pStgMedium->hBitmap);
883 break;
884 case TYMED_MFPICT:
885 TRACE("TYMED_MFPICT\n");
886 if (pStgMedium->hMetaFilePict)
887 pBuffer = HMETAFILEPICT_UserMarshal(pFlags, pBuffer, &pStgMedium->hMetaFilePict);
888 break;
889 case TYMED_ENHMF:
890 TRACE("TYMED_ENHMF\n");
891 if (pStgMedium->hEnhMetaFile)
892 pBuffer = HENHMETAFILE_UserMarshal(pFlags, pBuffer, &pStgMedium->hEnhMetaFile);
893 break;
894 default:
896 }
897
898 if (pStgMedium->pUnkForRelease)
899 pBuffer = WdtpInterfacePointer_UserMarshal(pFlags, LOWORD(*pFlags), pBuffer, pStgMedium->pUnkForRelease, &IID_IUnknown);
900
901 return pBuffer;
902}
const GUID IID_IUnknown
unsigned char *__RPC_USER HGLOBAL_UserMarshal(ULONG *pFlags, unsigned char *pBuffer, HGLOBAL *phGlobal)
Definition: usrmarshal.c:685
unsigned char *__RPC_USER HBITMAP_UserMarshal(ULONG *flags, unsigned char *buffer, HBITMAP *bmp)
Definition: usrmarshal.c:405
unsigned char *WINAPI WdtpInterfacePointer_UserMarshal(ULONG *pFlags, ULONG RealFlags, unsigned char *pBuffer, IUnknown *punk, REFIID riid)
Definition: usrmarshal.c:917
unsigned char *__RPC_USER HMETAFILEPICT_UserMarshal(ULONG *pFlags, unsigned char *pBuffer, HMETAFILEPICT *phMfp)
Definition: usrmarshal.c:547
unsigned char *__RPC_USER HENHMETAFILE_UserMarshal(ULONG *pFlags, unsigned char *pBuffer, HENHMETAFILE *phEmf)
Definition: usrmarshal.c:346
#define DWORD_PTR
Definition: treelist.c:76

Referenced by ASYNC_STGMEDIUM_UserMarshal(), and marshal_STGMEDIUM().

◆ STGMEDIUM_UserSize()

ULONG __RPC_USER STGMEDIUM_UserSize ( ULONG pFlags,
ULONG  StartingSize,
STGMEDIUM *  pStgMedium 
)

Definition at line 718 of file usrmarshal.c.

719{
720 ULONG size = StartingSize;
721
722 TRACE("%s, %lu, %p.\n", debugstr_user_flags(pFlags), StartingSize, pStgMedium);
723
724 ALIGN_LENGTH(size, 3);
725
726 size += 2 * sizeof(DWORD);
727 if (pStgMedium->tymed != TYMED_NULL)
728 size += sizeof(DWORD);
729
730 switch (pStgMedium->tymed)
731 {
732 case TYMED_NULL:
733 TRACE("TYMED_NULL\n");
734 break;
735 case TYMED_HGLOBAL:
736 TRACE("TYMED_HGLOBAL\n");
737 if (pStgMedium->hGlobal)
738 size = HGLOBAL_UserSize(pFlags, size, &pStgMedium->hGlobal);
739 break;
740 case TYMED_FILE:
741 TRACE("TYMED_FILE\n");
742 if (pStgMedium->lpszFileName)
743 {
744 TRACE("file name is %s\n", debugstr_w(pStgMedium->lpszFileName));
745 size += 3 * sizeof(DWORD) +
746 (lstrlenW(pStgMedium->lpszFileName) + 1) * sizeof(WCHAR);
747 }
748 break;
749 case TYMED_ISTREAM:
750 TRACE("TYMED_ISTREAM\n");
751 if (pStgMedium->pstm)
752 {
753 IUnknown *unk;
754 IStream_QueryInterface(pStgMedium->pstm, &IID_IUnknown, (void**)&unk);
755 size = WdtpInterfacePointer_UserSize(pFlags, LOWORD(*pFlags), size, unk, &IID_IStream);
756 IUnknown_Release(unk);
757 }
758 break;
759 case TYMED_ISTORAGE:
760 TRACE("TYMED_ISTORAGE\n");
761 if (pStgMedium->pstg)
762 {
763 IUnknown *unk;
764 IStorage_QueryInterface(pStgMedium->pstg, &IID_IUnknown, (void**)&unk);
765 size = WdtpInterfacePointer_UserSize(pFlags, LOWORD(*pFlags), size, unk, &IID_IStorage);
766 IUnknown_Release(unk);
767 }
768 break;
769 case TYMED_GDI:
770 TRACE("TYMED_GDI\n");
771 if (pStgMedium->hBitmap)
772 size = HBITMAP_UserSize(pFlags, size, &pStgMedium->hBitmap);
773 break;
774 case TYMED_MFPICT:
775 TRACE("TYMED_MFPICT\n");
776 if (pStgMedium->hMetaFilePict)
777 size = HMETAFILEPICT_UserSize(pFlags, size, &pStgMedium->hMetaFilePict);
778 break;
779 case TYMED_ENHMF:
780 TRACE("TYMED_ENHMF\n");
781 if (pStgMedium->hEnhMetaFile)
782 size = HENHMETAFILE_UserSize(pFlags, size, &pStgMedium->hEnhMetaFile);
783 break;
784 default:
786 }
787
788 if (pStgMedium->pUnkForRelease)
789 size = WdtpInterfacePointer_UserSize(pFlags, LOWORD(*pFlags), size, pStgMedium->pUnkForRelease, &IID_IUnknown);
790
791 return size;
792}
ULONG __RPC_USER HBITMAP_UserSize(ULONG *flags, ULONG size, HBITMAP *bmp)
Definition: usrmarshal.c:362
ULONG __RPC_USER HGLOBAL_UserSize(ULONG *pFlags, ULONG StartingSize, HGLOBAL *phGlobal)
Definition: usrmarshal.c:639
ULONG __RPC_USER HMETAFILEPICT_UserSize(ULONG *pFlags, ULONG size, HMETAFILEPICT *phMfp)
Definition: usrmarshal.c:497
ULONG __RPC_USER HENHMETAFILE_UserSize(ULONG *pFlags, ULONG size, HENHMETAFILE *phEmf)
Definition: usrmarshal.c:301
ULONG __RPC_USER WdtpInterfacePointer_UserSize(ULONG *pFlags, ULONG RealFlags, ULONG StartingSize, IUnknown *punk, REFIID riid)
Definition: usrmarshal.c:882

Referenced by ASYNC_STGMEDIUM_UserSize(), and marshal_STGMEDIUM().

◆ STGMEDIUM_UserUnmarshal()

unsigned char *__RPC_USER STGMEDIUM_UserUnmarshal ( ULONG pFlags,
unsigned char pBuffer,
STGMEDIUM *  pStgMedium 
)

Definition at line 923 of file usrmarshal.c.

924{
925 DWORD content = 0;
926 DWORD releaseunk;
927
929
930 TRACE("(%s, %p, %p\n", debugstr_user_flags(pFlags), pBuffer, pStgMedium);
931
932 pStgMedium->tymed = *(DWORD *)pBuffer;
933 pBuffer += sizeof(DWORD);
934 if (pStgMedium->tymed != TYMED_NULL)
935 {
936 content = *(DWORD *)pBuffer;
937 pBuffer += sizeof(DWORD);
938 }
939 releaseunk = *(DWORD *)pBuffer;
940 pBuffer += sizeof(DWORD);
941
942 switch (pStgMedium->tymed)
943 {
944 case TYMED_NULL:
945 TRACE("TYMED_NULL\n");
946 break;
947 case TYMED_HGLOBAL:
948 TRACE("TYMED_HGLOBAL\n");
949 if (content)
950 pBuffer = HGLOBAL_UserUnmarshal(pFlags, pBuffer, &pStgMedium->hGlobal);
951 break;
952 case TYMED_FILE:
953 TRACE("TYMED_FILE\n");
954 if (content)
955 {
956 DWORD conformance;
957 DWORD variance;
958 conformance = *(DWORD *)pBuffer;
959 pBuffer += sizeof(DWORD);
960 if (*(DWORD *)pBuffer != 0)
961 {
962 ERR("invalid offset %ld\n", *(DWORD *)pBuffer);
964 return NULL;
965 }
966 pBuffer += sizeof(DWORD);
967 variance = *(DWORD *)pBuffer;
968 pBuffer += sizeof(DWORD);
969 if (conformance != variance)
970 {
971 ERR("conformance (%ld) and variance (%ld) should be equal\n", conformance, variance);
973 return NULL;
974 }
975 if (conformance > 0x7fffffff)
976 {
977 ERR("conformance %#lx too large\n", conformance);
979 return NULL;
980 }
981 pStgMedium->lpszFileName = CoTaskMemAlloc(conformance * sizeof(WCHAR));
982 if (!pStgMedium->lpszFileName) RpcRaiseException(ERROR_OUTOFMEMORY);
983 TRACE("unmarshalled file name is %s\n", debugstr_wn((const WCHAR *)pBuffer, variance));
984 memcpy(pStgMedium->lpszFileName, pBuffer, variance * sizeof(WCHAR));
985 pBuffer += variance * sizeof(WCHAR);
986 }
987 else
988 pStgMedium->lpszFileName = NULL;
989 break;
990 case TYMED_ISTREAM:
991 TRACE("TYMED_ISTREAM\n");
992 if (content)
993 {
994 pBuffer = WdtpInterfacePointer_UserUnmarshal(pFlags, pBuffer, (IUnknown**)&pStgMedium->pstm, &IID_IStream);
995 }
996 else
997 {
998 if (pStgMedium->pstm) IStream_Release( pStgMedium->pstm );
999 pStgMedium->pstm = NULL;
1000 }
1001 break;
1002 case TYMED_ISTORAGE:
1003 TRACE("TYMED_ISTORAGE\n");
1004 if (content)
1005 {
1006 pBuffer = WdtpInterfacePointer_UserUnmarshal(pFlags, pBuffer, (IUnknown**)&pStgMedium->pstg, &IID_IStorage);
1007 }
1008 else
1009 {
1010 if (pStgMedium->pstg) IStorage_Release( pStgMedium->pstg );
1011 pStgMedium->pstg = NULL;
1012 }
1013 break;
1014 case TYMED_GDI:
1015 TRACE("TYMED_GDI\n");
1016 if (content)
1017 pBuffer = HBITMAP_UserUnmarshal(pFlags, pBuffer, &pStgMedium->hBitmap);
1018 else
1019 pStgMedium->hBitmap = NULL;
1020 break;
1021 case TYMED_MFPICT:
1022 TRACE("TYMED_MFPICT\n");
1023 if (content)
1024 pBuffer = HMETAFILEPICT_UserUnmarshal(pFlags, pBuffer, &pStgMedium->hMetaFilePict);
1025 else
1026 pStgMedium->hMetaFilePict = NULL;
1027 break;
1028 case TYMED_ENHMF:
1029 TRACE("TYMED_ENHMF\n");
1030 if (content)
1031 pBuffer = HENHMETAFILE_UserUnmarshal(pFlags, pBuffer, &pStgMedium->hEnhMetaFile);
1032 else
1033 pStgMedium->hEnhMetaFile = NULL;
1034 break;
1035 default:
1037 }
1038
1039 if (releaseunk)
1040 pBuffer = WdtpInterfacePointer_UserUnmarshal(pFlags, pBuffer, &pStgMedium->pUnkForRelease, &IID_IUnknown);
1041 /* Unlike the IStream / IStorage ifaces, the existing pUnkForRelease
1042 is left intact if a NULL ptr is unmarshalled - see the tests. */
1043
1044 return pBuffer;
1045}
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13
content
Definition: atl_ax.c:994
unsigned char *__RPC_USER HBITMAP_UserUnmarshal(ULONG *flags, unsigned char *buffer, HBITMAP *bmp)
Definition: usrmarshal.c:465
unsigned char *__RPC_USER HGLOBAL_UserUnmarshal(ULONG *pFlags, unsigned char *pBuffer, HGLOBAL *phGlobal)
Definition: usrmarshal.c:747
unsigned char *__RPC_USER HMETAFILEPICT_UserUnmarshal(ULONG *pFlags, unsigned char *pBuffer, HMETAFILEPICT *phMfp)
Definition: usrmarshal.c:610
unsigned char *__RPC_USER HENHMETAFILE_UserUnmarshal(ULONG *pFlags, unsigned char *pBuffer, HENHMETAFILE *phEmf)
Definition: usrmarshal.c:404
unsigned char *WINAPI WdtpInterfacePointer_UserUnmarshal(ULONG *pFlags, unsigned char *pBuffer, IUnknown **ppunk, REFIID riid)
Definition: usrmarshal.c:974
#define debugstr_wn
Definition: kernel32.h:33
void *WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: malloc.c:381
#define RPC_S_INVALID_BOUND
Definition: winerror.h:1400

Referenced by ASYNC_STGMEDIUM_UserUnmarshal(), and marshal_STGMEDIUM().

◆ WdtpInterfacePointer_UserMarshal()

unsigned char *WINAPI WdtpInterfacePointer_UserMarshal ( ULONG pFlags,
ULONG  RealFlags,
unsigned char pBuffer,
IUnknown punk,
REFIID  riid 
)

Definition at line 917 of file usrmarshal.c.

918{
920 IStream *stm;
921 DWORD size;
922 void *ptr;
923
924 TRACE("%s, %#lx, %p, &%p, %s.\n", debugstr_user_flags(pFlags), RealFlags, pBuffer, punk, debugstr_guid(riid));
925
926 if (!h) return NULL;
927 if (CreateStreamOnHGlobal(h, TRUE, &stm) != S_OK)
928 {
929 GlobalFree(h);
930 return NULL;
931 }
932
933 if (CoMarshalInterface(stm, riid, punk, LOWORD(RealFlags), NULL, MSHLFLAGS_NORMAL) != S_OK)
934 {
935 IStream_Release(stm);
936 return pBuffer;
937 }
938
940 size = GlobalSize(h);
941
942 *(DWORD *)pBuffer = size;
943 pBuffer += sizeof(DWORD);
944 *(DWORD *)pBuffer = size;
945 pBuffer += sizeof(DWORD);
946
947 ptr = GlobalLock(h);
950
951 IStream_Release(stm);
952 return pBuffer + size;
953}
#define TRUE
Definition: types.h:120
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL delete_on_release, IStream **stream)
HRESULT WINAPI CoMarshalInterface(IStream *stream, REFIID riid, IUnknown *unk, DWORD dest_context, void *pvDestContext, DWORD mshlFlags)
Definition: marshal.c:483
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
SIZE_T NTAPI GlobalSize(HGLOBAL hMem)
Definition: heapmem.c:1090
static PVOID ptr
Definition: dispmode.c:27
_In_opt_ IUnknown * punk
Definition: shlwapi.h:158

◆ WdtpInterfacePointer_UserSize()

ULONG __RPC_USER WdtpInterfacePointer_UserSize ( ULONG pFlags,
ULONG  RealFlags,
ULONG  StartingSize,
IUnknown punk,
REFIID  riid 
)

Definition at line 882 of file usrmarshal.c.

883{
884 DWORD marshal_size = 0;
885 HRESULT hr;
886
887 TRACE("%s, %#lx, %lu, %p, %s.\n", debugstr_user_flags(pFlags), RealFlags, StartingSize, punk, debugstr_guid(riid));
888
889 hr = CoGetMarshalSizeMax(&marshal_size, riid, punk, LOWORD(RealFlags), NULL, MSHLFLAGS_NORMAL);
890 if (FAILED(hr)) return StartingSize;
891
892 ALIGN_LENGTH(StartingSize, 3);
893 StartingSize += 2 * sizeof(DWORD);
894 return StartingSize + marshal_size;
895}
HRESULT WINAPI CoGetMarshalSizeMax(ULONG *size, REFIID riid, IUnknown *unk, DWORD dest_context, void *pvDestContext, DWORD mshlFlags)
Definition: marshal.c:440
#define FAILED(hr)
Definition: intsafe.h:51

◆ WdtpInterfacePointer_UserUnmarshal()

unsigned char *WINAPI WdtpInterfacePointer_UserUnmarshal ( ULONG pFlags,
unsigned char pBuffer,
IUnknown **  ppunk,
REFIID  riid 
)

Definition at line 974 of file usrmarshal.c.

975{
976 HRESULT hr;
977 HGLOBAL h;
978 IStream *stm;
979 DWORD size;
980 void *ptr;
981 IUnknown *orig;
982
983 TRACE("%s, %p, %p, %s.\n", debugstr_user_flags(pFlags), pBuffer, ppunk, debugstr_guid(riid));
984
986
987 size = *(DWORD *)pBuffer;
988 pBuffer += sizeof(DWORD);
989 if (size != *(DWORD *)pBuffer)
991
992 pBuffer += sizeof(DWORD);
993
994 /* FIXME: sanity check on size */
995
997 if (!h) RaiseException(RPC_X_NO_MEMORY, 0, 0, NULL);
998
999 if (CreateStreamOnHGlobal(h, TRUE, &stm) != S_OK)
1000 {
1001 GlobalFree(h);
1003 }
1004
1005 ptr = GlobalLock(h);
1007 GlobalUnlock(h);
1008
1009 orig = *ppunk;
1010 hr = CoUnmarshalInterface(stm, riid, (void**)ppunk);
1011 IStream_Release(stm);
1012
1013 if (hr != S_OK) RaiseException(hr, 0, 0, NULL);
1014
1015 if (orig) IUnknown_Release(orig);
1016
1017 return pBuffer + size;
1018}
HRESULT WINAPI CoUnmarshalInterface(IStream *stream, REFIID riid, void **ppv)
Definition: marshal.c:793
#define RPC_X_NO_MEMORY
Definition: rpcnterr.h:35

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( ole  )