diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c index 3106d472606..dbdf873f502 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 8605b737748..b353ce532b3 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 */