From 3433839b20974e9ebbcc81131280b1c89ccca10f Mon Sep 17 00:00:00 2001 From: Robert Shearman Date: Fri, 27 Jan 2006 12:53:51 +0100 Subject: [PATCH] include: Add types and definitions for RPC user callback routines. --- include/rpcndr.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/include/rpcndr.h b/include/rpcndr.h index ce32fb4a1ec..87d5b517ece 100644 --- a/include/rpcndr.h +++ b/include/rpcndr.h @@ -254,6 +254,37 @@ typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE USER_MARSHAL_FREEING_ROUTINE pfnFree; } USER_MARSHAL_ROUTINE_QUADRUPLE; +/* 'USRC' */ +#define USER_MARSHAL_CB_SIGNATURE \ + ( (DWORD)'U' | ( (DWORD)'S' << 8 ) | \ + ( (DWORD)'R' << 16 ) | ( (DWORD)'C' << 24 ) ) + +typedef enum +{ + USER_MARSHAL_CB_BUFFER_SIZE, + USER_MARSHAL_CB_MARSHALL, + USER_MARSHAL_CB_UNMARSHALL, + USER_MARSHAL_CB_FREE +} USER_MARSHAL_CB_TYPE; + +typedef struct _USER_MARSHAL_CB +{ + unsigned long Flags; + PMIDL_STUB_MESSAGE pStubMsg; + PFORMAT_STRING pReserve; + unsigned long Signature; + USER_MARSHAL_CB_TYPE CBType; + PFORMAT_STRING pFormat; + PFORMAT_STRING pTypeFormat; +} USER_MARSHAL_CB; + +#define USER_CALL_CTXT_MASK(f) ((f) & 0x00ff) +#define USER_CALL_AUX_MASK(f) ((f) & 0xff00) +#define GET_USER_DATA_REP(f) HIWORD(f) + +#define USER_CALL_IS_ASYNC 0x0100 +#define USER_CALL_NEW_CORRELATION_DESC 0x0200 + typedef struct _MALLOC_FREE_STRUCT { void * (__RPC_USER *pfnAllocate)(size_t);