Huw Davies : rpcrt4: Procedures containing a range within a conformance have a larger correlation descriptor.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jul 13 09:30:04 CDT 2015
Module: wine
Branch: master
Commit: 173ae68f0b41d5540e17f46e174b762bc1dc4e4f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=173ae68f0b41d5540e17f46e174b762bc1dc4e4f
Author: Huw Davies <huw at codeweavers.com>
Date: Mon Jul 13 13:11:39 2015 +0100
rpcrt4: Procedures containing a range within a conformance have a larger correlation descriptor.
---
dlls/rpcrt4/ndr_stubless.c | 6 ++++++
include/ndrtypes.h | 6 +++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c
index 3106d47..dbdf873 100644
--- a/dlls/rpcrt4/ndr_stubless.c
+++ b/dlls/rpcrt4/ndr_stubless.c
@@ -736,6 +736,8 @@ LONG_PTR CDECL ndr_client_call( PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pForma
{
/* initialize extra correlation package */
NdrCorrelationInitialize(&stubMsg, NdrCorrCache, sizeof(NdrCorrCache), 0);
+ if (ext_flags.Unused & 0x2) /* has range on conformance */
+ stubMsg.CorrDespIncrement = 12;
}
/* order of phases:
@@ -1345,6 +1347,8 @@ LONG WINAPI NdrStubCall2(
{
/* initialize extra correlation package */
NdrCorrelationInitialize(&stubMsg, NdrCorrCache, sizeof(NdrCorrCache), 0);
+ if (ext_flags.Unused & 0x2) /* has range on conformance */
+ stubMsg.CorrDespIncrement = 12;
}
}
else
@@ -1618,6 +1622,8 @@ LONG_PTR CDECL ndr_async_client_call( PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING
{
/* initialize extra correlation package */
NdrCorrelationInitialize(pStubMsg, async_call_data->NdrCorrCache, sizeof(async_call_data->NdrCorrCache), 0);
+ if (ext_flags.Unused & 0x2) /* has range on conformance */
+ pStubMsg->CorrDespIncrement = 12;
}
/* order of phases:
diff --git a/include/ndrtypes.h b/include/ndrtypes.h
index 8605b73..b353ce5 100644
--- a/include/ndrtypes.h
+++ b/include/ndrtypes.h
@@ -83,7 +83,11 @@ typedef struct
* routine @ NotifyIndex. */
unsigned char HasNotify2 : 1; /* 0x10 - should call MIDL [notify_flag] routine @
* NotifyIndex. */
- unsigned char Unused : 3;
+
+ /* The following bits are in fact used by midl but haven't yet been
+ named in the SDK. */
+ unsigned char Unused : 3; /* 0x20 - has complex return */
+ /* 0x40 - has range on conformance */
} INTERPRETER_OPT_FLAGS2, *PINTERPRETER_OPT_FLAGS2;
/* Win2000 extensions */
More information about the wine-cvs
mailing list