Michael Karcher : ole32: Add HICON user marshalling stubs.

Alexandre Julliard julliard at winehq.org
Sun Jan 4 09:09:00 CST 2009


Module: wine
Branch: master
Commit: 11aef5e0a22ded5ac035b5a66d3be9879259ff8e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=11aef5e0a22ded5ac035b5a66d3be9879259ff8e

Author: Michael Karcher <wine at mkarcher.dialup.fu-berlin.de>
Date:   Sun Jan  4 00:21:43 2009 +0100

ole32: Add HICON user marshalling stubs.

---

 dlls/ole32/ole32.spec   |    4 ++
 dlls/ole32/usrmarshal.c |   99 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 103 insertions(+), 0 deletions(-)

diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec
index 79376ac..49ff1d3 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 8aed5d6..3af71df 100644
--- a/dlls/ole32/usrmarshal.c
+++ b/dlls/ole32/usrmarshal.c
@@ -647,6 +647,105 @@ void __RPC_USER HBITMAP_UserFree(ULONG *pFlags, HBITMAP *phBmp)
 }
 
 /******************************************************************************
+ *           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.@]
  *
  * Calculates the buffer size required to marshal an HDC.




More information about the wine-cvs mailing list