[PATCH 4/8] widl: Use ULONG instead of unsigned long when generating declarations for *_UserFree() functions. This is needed for Win64 compatibility.

Michael Stefaniuc mstefani at redhat.de
Wed Nov 8 16:44:10 CST 2006


---
 dlls/ole32/usrmarshal.c    |   24 ++++++++++++------------
 dlls/oleaut32/usrmarshal.c |   16 ++++++++--------
 tools/widl/header.c        |    2 +-
 3 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/dlls/ole32/usrmarshal.c b/dlls/ole32/usrmarshal.c
index ae23307..4d39775 100644
--- a/dlls/ole32/usrmarshal.c
+++ b/dlls/ole32/usrmarshal.c
@@ -234,7 +234,7 @@ unsigned char * __RPC_USER CLIPFORMAT_Us
  *  structure, of which the first parameter is an unsigned long.
  *  This function is only intended to be called by the RPC runtime.
  */
-void __RPC_USER CLIPFORMAT_UserFree(unsigned long *pFlags, CLIPFORMAT *pCF)
+void __RPC_USER CLIPFORMAT_UserFree(ULONG *pFlags, CLIPFORMAT *pCF)
 {
     /* there is no inverse of the RegisterClipboardFormat function,
      * so nothing to do */
@@ -274,7 +274,7 @@ static unsigned char * __RPC_USER handle
     return pBuffer + sizeof(RemotableHandle);
 }
 
-static void __RPC_USER handle_UserFree(unsigned long *pFlags, HANDLE *phMenu)
+static void __RPC_USER handle_UserFree(ULONG *pFlags, HANDLE *phMenu)
 {
     /* nothing to do */
 }
@@ -298,7 +298,7 @@ #define IMPL_WIREM_HANDLE(type) \
         return handle_UserUnmarshal(pFlags, pBuffer, (HANDLE *)handle); \
     } \
     \
-    void __RPC_USER type##_UserFree(unsigned long *pFlags, type *handle) \
+    void __RPC_USER type##_UserFree(ULONG *pFlags, type *handle) \
     { \
         TRACE("("); dump_user_flags(pFlags); TRACE(", &%p\n", *handle); \
         return handle_UserFree(pFlags, (HANDLE *)handle); \
@@ -449,7 +449,7 @@ unsigned char * __RPC_USER HGLOBAL_UserU
 /******************************************************************************
  *           HGLOBAL_UserFree [OLE32.@]
  */
-void __RPC_USER HGLOBAL_UserFree(unsigned long *pFlags, HGLOBAL *phGlobal)
+void __RPC_USER HGLOBAL_UserFree(ULONG *pFlags, HGLOBAL *phGlobal)
 {
     TRACE("("); dump_user_flags(pFlags); TRACE(", &%p\n", *phGlobal);
 
@@ -475,7 +475,7 @@ unsigned char * __RPC_USER HBITMAP_UserU
     return pBuffer;
 }
 
-void __RPC_USER HBITMAP_UserFree(unsigned long *pFlags, HBITMAP *phBmp)
+void __RPC_USER HBITMAP_UserFree(ULONG *pFlags, HBITMAP *phBmp)
 {
     FIXME(":stub\n");
 }
@@ -498,7 +498,7 @@ unsigned char * __RPC_USER HDC_UserUnmar
     return pBuffer;
 }
 
-void __RPC_USER HDC_UserFree(unsigned long *pFlags, HDC *phdc)
+void __RPC_USER HDC_UserFree(ULONG *pFlags, HDC *phdc)
 {
     FIXME(":stub\n");
 }
@@ -521,7 +521,7 @@ unsigned char * __RPC_USER HPALETTE_User
     return pBuffer;
 }
 
-void __RPC_USER HPALETTE_UserFree(unsigned long *pFlags, HPALETTE *phPal)
+void __RPC_USER HPALETTE_UserFree(ULONG *pFlags, HPALETTE *phPal)
 {
     FIXME(":stub\n");
 }
@@ -635,7 +635,7 @@ unsigned char * __RPC_USER HENHMETAFILE_
     return pBuffer;
 }
 
-void __RPC_USER HENHMETAFILE_UserFree(unsigned long *pFlags, HENHMETAFILE *phEmf)
+void __RPC_USER HENHMETAFILE_UserFree(ULONG *pFlags, HENHMETAFILE *phEmf)
 {
     TRACE("("); dump_user_flags(pFlags); TRACE(", &%p\n", *phEmf);
 
@@ -805,7 +805,7 @@ unsigned char * __RPC_USER STGMEDIUM_Use
     return pBuffer;
 }
 
-void __RPC_USER STGMEDIUM_UserFree(unsigned long *pFlags, STGMEDIUM *pStgMedium)
+void __RPC_USER STGMEDIUM_UserFree(ULONG *pFlags, STGMEDIUM *pStgMedium)
 {
     TRACE("("); dump_user_flags(pFlags); TRACE(", %p\n", pStgMedium);
 
@@ -830,7 +830,7 @@ unsigned char * __RPC_USER ASYNC_STGMEDI
     return pBuffer;
 }
 
-void __RPC_USER ASYNC_STGMEDIUM_UserFree(unsigned long *pFlags, ASYNC_STGMEDIUM *pStgMedium)
+void __RPC_USER ASYNC_STGMEDIUM_UserFree(ULONG *pFlags, ASYNC_STGMEDIUM *pStgMedium)
 {
     FIXME(":stub\n");
 }
@@ -853,7 +853,7 @@ unsigned char * __RPC_USER FLAG_STGMEDIU
     return pBuffer;
 }
 
-void __RPC_USER FLAG_STGMEDIUM_UserFree(unsigned long *pFlags, FLAG_STGMEDIUM *pStgMedium)
+void __RPC_USER FLAG_STGMEDIUM_UserFree(ULONG *pFlags, FLAG_STGMEDIUM *pStgMedium)
 {
     FIXME(":stub\n");
 }
@@ -876,7 +876,7 @@ unsigned char * __RPC_USER SNB_UserUnmar
     return pBuffer;
 }
 
-void __RPC_USER SNB_UserFree(unsigned long *pFlags, SNB *pSnb)
+void __RPC_USER SNB_UserFree(ULONG *pFlags, SNB *pSnb)
 {
     FIXME(":stub\n");
 }
diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c
index f8c56f1..07000a1 100644
--- a/dlls/oleaut32/usrmarshal.c
+++ b/dlls/oleaut32/usrmarshal.c
@@ -128,7 +128,7 @@ unsigned char * WINAPI CLEANLOCALSTORAGE
     return Buffer + sizeof(DWORD);
 }
 
-void WINAPI CLEANLOCALSTORAGE_UserFree(unsigned long *pFlags, CLEANLOCALSTORAGE *pstr)
+void WINAPI CLEANLOCALSTORAGE_UserFree(ULONG *pFlags, CLEANLOCALSTORAGE *pstr)
 {
     /* Nothing to do */
 }
@@ -197,7 +197,7 @@ unsigned char * WINAPI BSTR_UserUnmarsha
     return Buffer + sizeof(*header) + sizeof(OLECHAR) * header->len;
 }
 
-void WINAPI BSTR_UserFree(unsigned long *pFlags, BSTR *pstr)
+void WINAPI BSTR_UserFree(ULONG *pFlags, BSTR *pstr)
 {
     TRACE("(%lx,%p) => %p\n", *pFlags, pstr, *pstr);
     if (*pstr)
@@ -277,7 +277,7 @@ static unsigned int get_type_alignment(U
     return 7;
 }
 
-static unsigned interface_variant_size(unsigned long *pFlags, REFIID riid, VARIANT *pvar)
+static unsigned interface_variant_size(ULONG *pFlags, REFIID riid, VARIANT *pvar)
 {
   ULONG size;
   HRESULT hr;
@@ -295,7 +295,7 @@ static unsigned interface_variant_size(u
   return size;
 }
 
-static unsigned long wire_extra_user_size(unsigned long *pFlags, unsigned long Start, VARIANT *pvar)
+static ULONG wire_extra_user_size(ULONG *pFlags, ULONG Start, VARIANT *pvar)
 {
   if (V_ISARRAY(pvar))
   {
@@ -329,7 +329,7 @@ static unsigned long wire_extra_user_siz
 }
 
 /* helper: called for VT_DISPATCH variants to marshal the IDispatch* into the buffer. returns Buffer on failure, new position otherwise */
-static unsigned char* interface_variant_marshal(unsigned long *pFlags, unsigned char *Buffer, REFIID riid, VARIANT *pvar)
+static unsigned char* interface_variant_marshal(ULONG *pFlags, unsigned char *Buffer, REFIID riid, VARIANT *pvar)
 {
   IStream *working; 
   HGLOBAL working_mem;
@@ -378,7 +378,7 @@ static unsigned char* interface_variant_
 }
 
 /* helper: called for VT_DISPATCH / VT_UNKNOWN variants to unmarshal the buffer. returns Buffer on failure, new position otherwise */
-static unsigned char *interface_variant_unmarshal(unsigned long *pFlags, unsigned char *Buffer, REFIID riid, VARIANT *pvar)
+static unsigned char *interface_variant_unmarshal(ULONG *pFlags, unsigned char *Buffer, REFIID riid, VARIANT *pvar)
 {
   IStream *working;
   HGLOBAL working_mem;
@@ -631,7 +631,7 @@ unsigned char * WINAPI VARIANT_UserUnmar
     return Pos;
 }
 
-void WINAPI VARIANT_UserFree(unsigned long *pFlags, VARIANT *pvar)
+void WINAPI VARIANT_UserFree(ULONG *pFlags, VARIANT *pvar)
 {
   VARTYPE vt = V_VT(pvar);
   PVOID ref = NULL;
@@ -1070,7 +1070,7 @@ unsigned char * WINAPI LPSAFEARRAY_UserU
     return Buffer;
 }
 
-void WINAPI LPSAFEARRAY_UserFree(unsigned long *pFlags, LPSAFEARRAY *ppsa)
+void WINAPI LPSAFEARRAY_UserFree(ULONG *pFlags, LPSAFEARRAY *ppsa)
 {
     TRACE("("); dump_user_flags(pFlags); TRACE(", &%p\n", *ppsa);
 
diff --git a/tools/widl/header.c b/tools/widl/header.c
index a1ef5ed..23731f7 100644
--- a/tools/widl/header.c
+++ b/tools/widl/header.c
@@ -335,7 +335,7 @@ void write_user_types(void)
     fprintf(header, "ULONG           __RPC_USER %s_UserSize     (ULONG *, ULONG, %s *);\n", name, name);
     fprintf(header, "unsigned char * __RPC_USER %s_UserMarshal  (ULONG *, unsigned char *, %s *);\n", name, name);
     fprintf(header, "unsigned char * __RPC_USER %s_UserUnmarshal(ULONG *, unsigned char *, %s *);\n", name, name);
-    fprintf(header, "void            __RPC_USER %s_UserFree     (unsigned long *, %s *);\n", name, name);
+    fprintf(header, "void            __RPC_USER %s_UserFree     (ULONG *, %s *);\n", name, name);
   }
 }
 
-- 
1.4.2.4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20061108/c4d688a1/attachment.pgp


More information about the wine-patches mailing list