1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-01 07:14:31 +00:00

include: Update a couple of RPC structures.

This commit is contained in:
Alexandre Julliard 2024-04-23 11:26:51 +02:00
parent bcb7396adf
commit 522cecf67c
5 changed files with 79 additions and 39 deletions

View File

@ -78,7 +78,6 @@ void WINAPI NdrClientInitializeNew( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE
pStubMsg->PointerLength = 0; pStubMsg->PointerLength = 0;
pStubMsg->fInDontFree = 0; pStubMsg->fInDontFree = 0;
pStubMsg->fDontCallFreeInst = 0; pStubMsg->fDontCallFreeInst = 0;
pStubMsg->fInOnlyParam = 0;
pStubMsg->fHasReturn = 0; pStubMsg->fHasReturn = 0;
pStubMsg->fHasExtensions = 0; pStubMsg->fHasExtensions = 0;
pStubMsg->fHasNewCorrDesc = 0; pStubMsg->fHasNewCorrDesc = 0;
@ -89,7 +88,7 @@ void WINAPI NdrClientInitializeNew( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE
pStubMsg->fHasMemoryValidateCallback = 0; pStubMsg->fHasMemoryValidateCallback = 0;
pStubMsg->fInFree = 0; pStubMsg->fInFree = 0;
pStubMsg->fNeedMCCP = 0; pStubMsg->fNeedMCCP = 0;
pStubMsg->fUnused = 0; pStubMsg->fUnused2 = 0;
pStubMsg->dwDestContext = MSHCTX_DIFFERENTMACHINE; pStubMsg->dwDestContext = MSHCTX_DIFFERENTMACHINE;
pStubMsg->pvDestContext = NULL; pStubMsg->pvDestContext = NULL;
pStubMsg->pRpcChannelBuffer = NULL; pStubMsg->pRpcChannelBuffer = NULL;
@ -132,7 +131,6 @@ unsigned char* WINAPI NdrServerInitializeNew( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_M
pStubMsg->PointerLength = 0; pStubMsg->PointerLength = 0;
pStubMsg->fInDontFree = 0; pStubMsg->fInDontFree = 0;
pStubMsg->fDontCallFreeInst = 0; pStubMsg->fDontCallFreeInst = 0;
pStubMsg->fInOnlyParam = 0;
pStubMsg->fHasReturn = 0; pStubMsg->fHasReturn = 0;
pStubMsg->fHasExtensions = 0; pStubMsg->fHasExtensions = 0;
pStubMsg->fHasNewCorrDesc = 0; pStubMsg->fHasNewCorrDesc = 0;
@ -142,7 +140,7 @@ unsigned char* WINAPI NdrServerInitializeNew( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_M
pStubMsg->fHasMemoryValidateCallback = 0; pStubMsg->fHasMemoryValidateCallback = 0;
pStubMsg->fInFree = 0; pStubMsg->fInFree = 0;
pStubMsg->fNeedMCCP = 0; pStubMsg->fNeedMCCP = 0;
pStubMsg->fUnused = 0; pStubMsg->fUnused2 = 0;
pStubMsg->dwDestContext = MSHCTX_DIFFERENTMACHINE; pStubMsg->dwDestContext = MSHCTX_DIFFERENTMACHINE;
pStubMsg->pvDestContext = NULL; pStubMsg->pvDestContext = NULL;
pStubMsg->pRpcChannelBuffer = NULL; pStubMsg->pRpcChannelBuffer = NULL;

View File

@ -686,9 +686,9 @@ static void test_pack_MIDL_SYNTAX_INFO(void)
TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 8) TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 8)
TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 8) TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 8)
TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 56) TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 56)
TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pReserved1, 8) TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pMethodProperties, 8)
TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pReserved1, 8) TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pMethodProperties, 8)
TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pReserved1, 64) TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pMethodProperties, 64)
TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pReserved2, 8) TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pReserved2, 8)
TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pReserved2, 8) TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pReserved2, 8)
TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pReserved2, 72) TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pReserved2, 72)
@ -1548,9 +1548,9 @@ static void test_pack_MIDL_SYNTAX_INFO(void)
TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 4) TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 4)
TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 4) TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 4)
TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 36) TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 36)
TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pReserved1, 4) TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pMethodProperties, 4)
TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pReserved1, 4) TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pMethodProperties, 4)
TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pReserved1, 40) TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pMethodProperties, 40)
TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pReserved2, 4) TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pReserved2, 4)
TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pReserved2, 4) TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pReserved2, 4)
TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pReserved2, 44) TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pReserved2, 44)

View File

@ -1728,11 +1728,11 @@ static void test_common_stub_data( const char *prefix, const MIDL_STUB_MESSAGE *
ok(stubMsg->fBufferValid == 0, ok(stubMsg->fBufferValid == 0,
"%s: fBufferValid should have been set to 0 instead of %d\n", prefix, stubMsg->fBufferValid); "%s: fBufferValid should have been set to 0 instead of %d\n", prefix, stubMsg->fBufferValid);
TEST_ZERO(fNeedMCCP, "%d"); TEST_ZERO(fNeedMCCP, "%d");
ok(stubMsg->fUnused == 0 || ok(stubMsg->fUnused2 == 0 ||
stubMsg->fUnused == -2, /* Vista */ stubMsg->fUnused2 == -2, /* Vista */
"%s: fUnused should have been set to 0 or -2 instead of %d\n", prefix, stubMsg->fUnused); "%s: fUnused2 should have been set to 0 or -2 instead of %d\n", prefix, stubMsg->fUnused2);
ok(stubMsg->fUnused2 == 0xffffcccc, "%s: fUnused2 should have been 0xffffcccc instead of 0x%x\n", ok(stubMsg->fUnused3 == 0xffffcccc, "%s: fUnused3 should have been 0xffffcccc instead of 0x%x\n",
prefix, stubMsg->fUnused2); prefix, stubMsg->fUnused3);
ok(stubMsg->dwDestContext == MSHCTX_DIFFERENTMACHINE, ok(stubMsg->dwDestContext == MSHCTX_DIFFERENTMACHINE,
"%s: dwDestContext should have been MSHCTX_DIFFERENTMACHINE instead of %ld\n", "%s: dwDestContext should have been MSHCTX_DIFFERENTMACHINE instead of %ld\n",
prefix, stubMsg->dwDestContext); prefix, stubMsg->dwDestContext);

View File

@ -71,6 +71,11 @@ typedef INT64 hyper;
typedef UINT64 MIDL_uhyper; typedef UINT64 MIDL_uhyper;
typedef unsigned char boolean; typedef unsigned char boolean;
#ifndef _ERROR_STATUS_T_DEFINED
typedef ULONG error_status_t;
#define _ERROR_STATUS_T_DEFINED
#endif
#define __RPC_CALLEE WINAPI #define __RPC_CALLEE WINAPI
#define RPC_VAR_ENTRY WINAPIV #define RPC_VAR_ENTRY WINAPIV
#define NDR_SHAREABLE static #define NDR_SHAREABLE static
@ -179,7 +184,7 @@ typedef struct _MIDL_STUB_MESSAGE
ULONG PointerLength; ULONG PointerLength;
unsigned int fInDontFree:1; unsigned int fInDontFree:1;
unsigned int fDontCallFreeInst:1; unsigned int fDontCallFreeInst:1;
unsigned int fInOnlyParam:1; unsigned int fUnused1 :1;
unsigned int fHasReturn:1; unsigned int fHasReturn:1;
unsigned int fHasExtensions:1; unsigned int fHasExtensions:1;
unsigned int fHasNewCorrDesc:1; unsigned int fHasNewCorrDesc:1;
@ -190,8 +195,8 @@ typedef struct _MIDL_STUB_MESSAGE
unsigned int fHasMemoryValidateCallback:1; unsigned int fHasMemoryValidateCallback:1;
unsigned int fInFree:1; unsigned int fInFree:1;
unsigned int fNeedMCCP:1; unsigned int fNeedMCCP:1;
int fUnused:3; int fUnused2:3;
int fUnused2:16; int fUnused3:16;
DWORD dwDestContext; DWORD dwDestContext;
void *pvDestContext; void *pvDestContext;
NDR_SCONTEXT *SavedContextHandles; NDR_SCONTEXT *SavedContextHandles;
@ -303,6 +308,39 @@ typedef struct _COMM_FAULT_OFFSETS
short FaultOffset; short FaultOffset;
} COMM_FAULT_OFFSETS; } COMM_FAULT_OFFSETS;
typedef enum _IDL_CS_CONVERT
{
IDL_CS_NO_CONVERT,
IDL_CS_IN_PLACE_CONVERT,
IDL_CS_NEW_BUFFER_CONVERT
} IDL_CS_CONVERT;
typedef void (__RPC_USER * CS_TYPE_NET_SIZE_ROUTINE)(RPC_BINDING_HANDLE,ULONG,ULONG,IDL_CS_CONVERT*,ULONG*,error_status_t*);
typedef void (__RPC_USER * CS_TYPE_TO_NETCS_ROUTINE)(RPC_BINDING_HANDLE,ULONG,void*,ULONG,byte*,ULONG*,error_status_t*);
typedef void (__RPC_USER * CS_TYPE_LOCAL_SIZE_ROUTINE)(RPC_BINDING_HANDLE,ULONG,ULONG,IDL_CS_CONVERT*,ULONG*,error_status_t*);
typedef void (__RPC_USER * CS_TYPE_FROM_NETCS_ROUTINE)(RPC_BINDING_HANDLE,ULONG,byte*,ULONG,ULONG,void*,ULONG*,error_status_t*);
typedef void (__RPC_USER * CS_TAG_GETTING_ROUTINE)(RPC_BINDING_HANDLE,int,ULONG*,ULONG*,ULONG*,error_status_t*);
typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES
{
CS_TYPE_NET_SIZE_ROUTINE pfnNetSize;
CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs;
CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize;
CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs;
} NDR_CS_SIZE_CONVERT_ROUTINES;
typedef struct _NDR_CS_ROUTINES
{
NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines;
CS_TAG_GETTING_ROUTINE *pTagGettingRoutines;
} NDR_CS_ROUTINES;
typedef struct _NDR_EXPR_DESC
{
const unsigned short *pOffset;
PFORMAT_STRING pFormatExpr;
} NDR_EXPR_DESC;
typedef struct _MIDL_STUB_DESC typedef struct _MIDL_STUB_DESC
{ {
void *RpcInterfaceInformation; void *RpcInterfaceInformation;
@ -326,22 +364,36 @@ typedef struct _MIDL_STUB_DESC
const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple; const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
const NDR_NOTIFY_ROUTINE *NotifyRoutineTable; const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
ULONG_PTR mFlags; ULONG_PTR mFlags;
ULONG_PTR Reserved3; const NDR_CS_ROUTINES *CsRoutineTables;
ULONG_PTR Reserved4; void *ProxyServerInfo;
ULONG_PTR Reserved5; const NDR_EXPR_DESC *pExprInfo;
} MIDL_STUB_DESC; } MIDL_STUB_DESC;
typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC; typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC;
typedef struct _MIDL_FORMAT_STRING typedef struct _MIDL_FORMAT_STRING
{ {
short Pad; short Pad;
#if defined(__GNUC__) unsigned char Format[];
unsigned char Format[0];
#else
unsigned char Format[1];
#endif
} MIDL_FORMAT_STRING; } MIDL_FORMAT_STRING;
typedef struct _MIDL_METHOD_PROPERTY
{
ULONG Id;
ULONG_PTR Value;
} MIDL_METHOD_PROPERTY, *PMIDL_METHOD_PROPERTY;
typedef struct _MIDL_METHOD_PROPERTY_MAP
{
ULONG Count;
const MIDL_METHOD_PROPERTY *Properties;
} MIDL_METHOD_PROPERTY_MAP, *PMIDL_METHOD_PROPERTY_MAP;
typedef struct _MIDL_INTERFACE_METHOD_PROPERTIES
{
unsigned short MethodCount;
const MIDL_METHOD_PROPERTY_MAP * const *MethodProperties;
} MIDL_INTERFACE_METHOD_PROPERTIES;
typedef struct _MIDL_SYNTAX_INFO typedef struct _MIDL_SYNTAX_INFO
{ {
RPC_SYNTAX_IDENTIFIER TransferSyntax; RPC_SYNTAX_IDENTIFIER TransferSyntax;
@ -350,7 +402,7 @@ typedef struct _MIDL_SYNTAX_INFO
const unsigned short* FmtStringOffset; const unsigned short* FmtStringOffset;
PFORMAT_STRING TypeString; PFORMAT_STRING TypeString;
const void* aUserMarshalQuadruple; const void* aUserMarshalQuadruple;
ULONG_PTR pReserved1; const MIDL_INTERFACE_METHOD_PROPERTIES *pMethodProperties;
ULONG_PTR pReserved2; ULONG_PTR pReserved2;
} MIDL_SYNTAX_INFO, *PMIDL_SYNTAX_INFO; } MIDL_SYNTAX_INFO, *PMIDL_SYNTAX_INFO;
@ -443,11 +495,6 @@ typedef struct _FULL_PTR_XLAT_TABLES {
struct IRpcStubBuffer; struct IRpcStubBuffer;
#ifndef _ERROR_STATUS_T_DEFINED
typedef ULONG error_status_t;
#define _ERROR_STATUS_T_DEFINED
#endif
typedef void * NDR_CCONTEXT; typedef void * NDR_CCONTEXT;
typedef struct _SCONTEXT_QUEUE { typedef struct _SCONTEXT_QUEUE {

View File

@ -17,8 +17,7 @@
*/ */
#ifndef __RPCPROXY_H_VERSION__ #ifndef __RPCPROXY_H_VERSION__
/* FIXME: Find an appropriate version number. I guess something is better than nothing */ #define __RPCPROXY_H_VERSION__ (477)
#define __RPCPROXY_H_VERSION__ ( 399 )
#endif #endif
#ifndef __WINE_RPCPROXY_H #ifndef __WINE_RPCPROXY_H
@ -78,11 +77,7 @@ typedef struct tagCInterfaceProxyHeader
typedef struct tagCInterfaceProxyVtbl typedef struct tagCInterfaceProxyVtbl
{ {
CInterfaceProxyHeader header; CInterfaceProxyHeader header;
#if defined(__GNUC__) void *Vtbl[];
void *Vtbl[0];
#else
void *Vtbl[1];
#endif
} CInterfaceProxyVtbl; } CInterfaceProxyVtbl;
typedef void (__RPC_STUB *PRPC_STUB_FUNCTION)( typedef void (__RPC_STUB *PRPC_STUB_FUNCTION)(