From 11aef5e0a22ded5ac035b5a66d3be9879259ff8e Mon Sep 17 00:00:00 2001 From: Michael Karcher Date: Sun, 4 Jan 2009 00:21:43 +0100 Subject: [PATCH] ole32: Add HICON user marshalling stubs. --- dlls/ole32/ole32.spec | 4 ++ dlls/ole32/usrmarshal.c | 99 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec index 79376acb8c0..49ff1d3b1bb 100644 --- a/dlls/ole32/ole32.spec +++ b/dlls/ole32/ole32.spec @@ -138,6 +138,10 @@ @ stdcall HGLOBAL_UserMarshal(ptr ptr ptr) @ stdcall HGLOBAL_UserSize(ptr long ptr) @ stdcall HGLOBAL_UserUnmarshal(ptr ptr ptr) +@ stdcall HICON_UserFree(ptr ptr) +@ stdcall HICON_UserMarshal(ptr ptr ptr) +@ stdcall HICON_UserSize(ptr long ptr) +@ stdcall HICON_UserUnmarshal(ptr ptr ptr) @ stdcall HMENU_UserFree(ptr ptr) @ stdcall HMENU_UserMarshal(ptr ptr ptr) @ stdcall HMENU_UserSize(ptr long ptr) diff --git a/dlls/ole32/usrmarshal.c b/dlls/ole32/usrmarshal.c index 8aed5d695e5..3af71df8a88 100644 --- a/dlls/ole32/usrmarshal.c +++ b/dlls/ole32/usrmarshal.c @@ -646,6 +646,105 @@ void __RPC_USER HBITMAP_UserFree(ULONG *pFlags, HBITMAP *phBmp) FIXME(":stub\n"); } +/****************************************************************************** + * HICON_UserSize [OLE32.@] + * + * Calculates the buffer size required to marshal an icon. + * + * PARAMS + * pFlags [I] Flags. See notes. + * StartingSize [I] Starting size of the buffer. This value is added on to + * the buffer size required for the icon. + * phIcon [I] Icon to size. + * + * RETURNS + * The buffer size required to marshal an icon plus the starting size. + * + * NOTES + * Even though the function is documented to take a pointer to a ULONG in + * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of which + * the first parameter is a ULONG. + * This function is only intended to be called by the RPC runtime. + */ +ULONG __RPC_USER HICON_UserSize(ULONG *pFlags, ULONG StartingSize, HICON *phIcon) +{ + FIXME(":stub\n"); + return StartingSize; +} + +/****************************************************************************** +* HICON_UserMarshal [OLE32.@] +* +* Marshals an icon into a buffer. +* +* PARAMS +* pFlags [I] Flags. See notes. +* pBuffer [I] Buffer to marshal the icon into. +* phIcon [I] Icon to marshal. +* +* RETURNS +* The end of the marshaled data in the buffer. +* +* NOTES +* Even though the function is documented to take a pointer to a ULONG in +* pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of which +* the first parameter is a ULONG. +* This function is only intended to be called by the RPC runtime. +*/ +unsigned char * __RPC_USER HICON_UserMarshal(ULONG *pFlags, unsigned char *pBuffer, HICON *phIcon) +{ + FIXME(":stub\n"); + return pBuffer; +} + +/****************************************************************************** + * HICON_UserUnmarshal [OLE32.@] + * + * Unmarshals an icon from a buffer. + * + * PARAMS + * pFlags [I] Flags. See notes. + * pBuffer [I] Buffer to marshal the icon from. + * phIcon [O] Address that receive the unmarshaled icon. + * + * RETURNS + * The end of the marshaled data in the buffer. + * + * NOTES + * Even though the function is documented to take a pointer to an ULONG in + * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of which + * the first parameter is an ULONG. + * This function is only intended to be called by the RPC runtime. + */ +unsigned char * __RPC_USER HICON_UserUnmarshal(ULONG *pFlags, unsigned char *pBuffer, HICON *phIcon) +{ + FIXME(":stub\n"); + return pBuffer; +} + +/****************************************************************************** + * HICON_UserFree [OLE32.@] + * + * Frees an unmarshaled icon. + * + * PARAMS + * pFlags [I] Flags. See notes. + * phIcon [I] Icon to free. + * + * RETURNS + * The end of the marshaled data in the buffer. + * + * NOTES + * Even though the function is documented to take a pointer to a ULONG in + * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of + * which the first parameter is a ULONG. + * This function is only intended to be called by the RPC runtime. + */ +void __RPC_USER HICON_UserFree(ULONG *pFlags, HICON *phIcon) +{ + FIXME(":stub\n"); +} + /****************************************************************************** * HDC_UserSize [OLE32.@] *