msi: Make MsiProcessMessage() RPC-compatible.
commitbbf0f2da8211da73066fb36a444593ab0e8901f2
authorZebediah Figura <z.figura12@gmail.com>
Wed, 18 Apr 2018 00:11:29 +0000 (17 19:11 -0500)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 18 Apr 2018 08:12:58 +0000 (18 10:12 +0200)
treeecdec72c0543b33f5a60d12a34ec4af6a6139615
parent9d121203955da5c761cfb5c22b6428278e41f0c7
msi: Make MsiProcessMessage() RPC-compatible.

Instead of passing a remote MSIHANDLE and creating a set of remote_Record*()
methods, we marshal the whole record as a wire struct. We do this for two
reasons: firstly, because chances are whoever is reading the record is going
to want to read the whole thing, so it's much less taxing on IPC to just pass
the whole record once; and secondly, because records can be created on the
client side or returned from the server side, and we don't want to have to
write a lot of extra code to deal with both possibilities.

The wire_record struct is designed so that we can simply pass the relevant
part of an MSIRECORD to the server.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
dlls/msi/msipriv.h
dlls/msi/package.c
dlls/msi/record.c
dlls/msi/winemsi.idl