402{
403
406
407 unsigned short stack_size;
408
412 unsigned int number_of_params;
414
415 TRACE(
"Handle %p, pStubDesc %p, pFormat %p, ...\n",
Handle, pStubDesc, pFormat);
416
417
418 if (pStubDesc->
Version > 0x50002)
419 {
420 FIXME(
"Incompatible stub description version: 0x%lx\n", pStubDesc->
Version);
422 }
423
426
428 {
433 }
434 else
435 {
439 }
440
442 {
443 switch (*pFormat)
444 {
447 break;
450 break;
453 break;
454 default:
455 ERR(
"bad explicit binding handle type (0x%02x)\n", pProcHeader->
handle_type);
457 }
458 }
459
460 TRACE(
"stack size: 0x%x\n", stack_size);
462
463 memset(&rpcMsg, 0,
sizeof(rpcMsg));
466 pEsMsg->
StubMsg.pfnAllocate = pStubDesc->pfnAllocate;
467 pEsMsg->
StubMsg.pfnFree = pStubDesc->pfnFree;
468
469
472
474 TRACE(
"stubdesc version = 0x%lx\n", pStubDesc->
Version);
476
477
481
483 arg_buffer, sizeof(arg_buffer), &number_of_params );
484
486 {
489
491
494
496
498
500 break;
503
505
507 break;
508 default:
510 return;
511 }
512
515}
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, BOOLEAN 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 RPC_X_BAD_STUB_DATA
#define RPC_X_WRONG_STUB_VERSION
#define RPC_S_INTERNAL_ERROR