Rob Shearman : widl: Output calls for the new versions of the marshalling and unmarshalling routines for server context handles .

Alexandre Julliard julliard at winehq.org
Mon Jan 7 08:39:23 CST 2008


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

Author: Rob Shearman <rob at codeweavers.com>
Date:   Sun Jan  6 21:21:03 2008 +0000

widl: Output calls for the new versions of the marshalling and unmarshalling routines for server context handles.

This needs to be done to match the call to NdrContextHandleInitialize 
and because we default to using strict context handles.

---

 tools/widl/typegen.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c
index 55fb3fa..b9d3306 100644
--- a/tools/widl/typegen.c
+++ b/tools/widl/typegen.c
@@ -2707,10 +2707,11 @@ static void write_remoting_arg(FILE *file, int indent, const func_t *func,
             }
             else
             {
-                print_file(file, indent, "NdrServerContextMarshall(\n");
+                print_file(file, indent, "NdrServerContextNewMarshall(\n");
                 print_file(file, indent + 1, "&_StubMsg,\n");
                 print_file(file, indent + 1, "(NDR_SCONTEXT)%s,\n", var->name);
-                print_file(file, indent + 1, "(NDR_RUNDOWN)%s_rundown);\n", get_context_handle_type_name(var->type));
+                print_file(file, indent + 1, "(NDR_RUNDOWN)%s_rundown,\n", get_context_handle_type_name(var->type));
+                print_file(file, indent + 1, "(PFORMAT_STRING)&__MIDL_TypeFormatString.Format[%d]);\n", start_offset);
             }
         }
         else if (phase == PHASE_UNMARSHAL)
@@ -2723,7 +2724,11 @@ static void write_remoting_arg(FILE *file, int indent, const func_t *func,
                 print_file(file, indent + 1, "_Handle);\n");
             }
             else
-                print_file(file, indent, "%s = NdrServerContextUnmarshall(&_StubMsg);\n", var->name);
+            {
+                print_file(file, indent, "%s = NdrServerContextNewUnmarshall(\n", var->name);
+                print_file(file, indent + 1, "&_StubMsg,\n");
+                print_file(file, indent + 1, "(PFORMAT_STRING)&__MIDL_TypeFormatString.Format[%d]);\n", start_offset);
+            }
         }
     }
     else if (is_user_type(var->type))




More information about the wine-cvs mailing list