summaryrefslogtreecommitdiff
path: root/src/vm/stackbuildersink.h
blob: f16a8557ff8dbe152e578253ed769fdbf1f99c17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
//
// File: StackBuilderSink.h
//

//
// Purpose: Native implementation for System.Runtime.Remoting.Messaging.StackBuilderSink
//


#ifndef __STACKBUILDERSINK_H__
#define __STACKBUILDERSINK_H__

#ifndef FEATURE_REMOTING
#error FEATURE_REMOTING is not set, please do not include stackbuildersink.h
#endif

void CallDescrWithObjectArray(OBJECTREF& pServer, MethodDesc *pMD, //ReflectMethod *pMD,
                  PCODE pTarget, MetaSig* sig, VASigCookie *pCookie,
                  PTRARRAYREF& pArguments,
                  OBJECTREF* pVarRet, PTRARRAYREF* ppVarOutParams);

//+----------------------------------------------------------
//
//  Class:      CStackBuilderSink
// 
//  Synopsis:   EE counterpart to 
//              Microsoft.Runtime.StackBuilderSink
//              Code helper to build a stack of parameter 
//              arguments and make a function call on an 
//              object.
// 
//
//------------------------------------------------------------
class CStackBuilderSink
{
public:    
   
    static FCDECL5(Object*, PrivateProcessMessage, 
                                Object* pSBSinkUNSAFE, 
                                MethodDesc* pMD, 
                                PTRArray* pArgsUNSAFE, 
                                Object* pServerUNSAFE, 
                                PTRARRAYREF* ppVarOutParams);
};

#endif  // __STACKBUILDERSINK_H__