[PATCH 00/14] Rewrite of the type library marshaller
Zebediah Figura
z.figura12 at gmail.com
Sat Nov 3 18:07:12 CDT 2018
This patch series rewrites the Automation type library marshaller on
top of NDR Oif-mode stubless proxies, after the conversation here:
https://www.winehq.org/pipermail/wine-devel/2017-November/119456.html
The idea is essentially to build the format strings and other
proxy-related structures dynamically, and then pass those to the
standard cproxy/cstub implementations. The code was written largely
based on widl and ends up having a fair amount of the same structure.
Zebediah Figura (14):
rpcrt4: Add a stub implementation of CreateProxyFromTypeInfo().
rpcrt4: Add a stub implementation of CreateStubFromTypeInfo().
rpcrt4: Build the typelib proxy headers.
rpcrt4: Build the typelib stub headers.
rpcrt4: Write the function header into the procedure format string.
rpcrt4: Write parameter signatures into the procedure format string.
rpcrt4: Write type format strings for pointers.
rpcrt4: Write type format strings for fixed arrays.
rpcrt4: Write type format strings for fixed structs.
rpcrt4: Write type format strings for Automation types.
rpcrt4: Retrieve the underlying interface for dual interfaces.
rpcrt4: Delegate to the parent if it is not IUnknown.
rpcrt4: Write the floating-point mask on x86-64.
oleaut32: Rip out the old typelib marshaller.
Makefile.in | 1 +
dlls/oleaut32/Makefile.in | 1 -
dlls/oleaut32/oleaut.c | 284 +++-
dlls/oleaut32/tests/tmarshal.c | 24 +-
dlls/oleaut32/tmarshal.c | 2351 --------------------------------
dlls/oleaut32/typelib.c | 32 -
dlls/oleaut32/typelib.h | 6 -
dlls/rpcrt4/Makefile.in | 22 +-
dlls/rpcrt4/cproxy.c | 70 +-
dlls/rpcrt4/cpsf.h | 30 +
dlls/rpcrt4/cstub.c | 11 +-
dlls/rpcrt4/ndr_typelib.c | 1127 +++++++++++++++
12 files changed, 1443 insertions(+), 2516 deletions(-)
delete mode 100644 dlls/oleaut32/tmarshal.c
create mode 100644 dlls/rpcrt4/ndr_typelib.c
--
2.19.1
More information about the wine-devel
mailing list