401{
402
405
406 unsigned short stack_size;
407
411 unsigned int number_of_params;
413
414 TRACE(
"Handle %p, pStubDesc %p, pFormat %p, ...\n",
Handle, pStubDesc, pFormat);
415
416
417 if (pStubDesc->
Version > 0x50002)
418 {
419 FIXME(
"Incompatible stub description version: 0x%x\n", pStubDesc->
Version);
421 }
422
425
427 {
432 }
433 else
434 {
438 }
439
441 {
442 switch (*pFormat)
443 {
446 break;
449 break;
452 break;
453 default:
454 ERR(
"bad explicit binding handle type (0x%02x)\n", pProcHeader->
handle_type);
456 }
457 }
458
459 TRACE(
"stack size: 0x%x\n", stack_size);
461
462 memset(&rpcMsg, 0,
sizeof(rpcMsg));
465 pEsMsg->
StubMsg.pfnAllocate = pStubDesc->pfnAllocate;
466 pEsMsg->
StubMsg.pfnFree = pStubDesc->pfnFree;
467
468
471
475
476
480
482 arg_buffer, sizeof(arg_buffer), &number_of_params );
483
485 {
488
490
493
495
497
499 break;
502
504
506 break;
507 default:
509 return;
510 }
511
514}
static void es_data_write(MIDL_ES_MESSAGE *pEsMsg, ULONG size)
static ULONG mes_proc_header_buffer_size(void)
static void mes_proc_header_unmarshal(MIDL_ES_MESSAGE *pEsMsg)
static void mes_proc_header_marshal(MIDL_ES_MESSAGE *pEsMsg)
static void es_data_alloc(MIDL_ES_MESSAGE *pEsMsg, ULONG size)
static void es_data_read(MIDL_ES_MESSAGE *pEsMsg, ULONG size)
void WINAPI NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES pXlatTables)
PFULL_PTR_XLAT_TABLES WINAPI NdrFullPointerXlatInit(ULONG NumberOfPointers, XLAT_SIDE XlatSide)
void client_do_args(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, enum stubless_phase phase, void **fpu_args, unsigned short number_of_params, unsigned char *pRetVal)
PFORMAT_STRING convert_old_args(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, unsigned int stack_size, BOOL object_proc, void *buffer, unsigned int size, unsigned int *count)
struct _NDR_PROC_HEADER_RPC NDR_PROC_HEADER_RPC
struct _NDR_EHD_CONTEXT NDR_EHD_CONTEXT
struct _NDR_EHD_PRIMITIVE NDR_EHD_PRIMITIVE
struct _NDR_PROC_HEADER NDR_PROC_HEADER
struct _NDR_EHD_GENERIC NDR_EHD_GENERIC
void DECLSPEC_NORETURN WINAPI RpcRaiseException(RPC_STATUS exception)
MIDL_STUB_MESSAGE StubMsg
RPC_SYNTAX_IDENTIFIER InterfaceId
void * RpcInterfaceInformation
struct _FULL_PTR_XLAT_TABLES * FullPtrXlatTables
const struct _MIDL_STUB_DESC * StubDesc
RPC_SYNTAX_IDENTIFIER InterfaceId
#define __ms_va_end(list)
#define __ms_va_start(list, arg)
#define RPC_X_BAD_STUB_DATA
#define RPC_X_WRONG_STUB_VERSION
#define RPC_S_INTERNAL_ERROR