File: system\runtime\remoting\imethodmessage.cs
Project: ndp\clr\src\bcl\mscorlib.csproj (mscorlib)
// ==++==
// 
//   Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// ==--==
/*============================================================
**
** File:    IMethodMessage.cs
**
**
** Purpose: Defines the message object interface
**
**
===========================================================*/
namespace System.Runtime.Remoting.Messaging {
    using System;
    using System.Reflection;
    using System.Security.Permissions;
    using IList = System.Collections.IList;
    
[System.Runtime.InteropServices.ComVisible(true)]
    public interface IMethodMessage : IMessage
    {
        String Uri                      
        {
             [System.Security.SecurityCritical]  // auto-generated_required
             get;
        }
        String MethodName               
        {
             [System.Security.SecurityCritical]  // auto-generated_required
             get;
        }
        String TypeName     
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
        Object MethodSignature
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get; 
        }
       
        int ArgCount
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
        [System.Security.SecurityCritical]  // auto-generated_required
        String GetArgName(int index);
        [System.Security.SecurityCritical]  // auto-generated_required
        Object GetArg(int argNum);
        Object[] Args
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
 
        bool HasVarArgs
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
        LogicalCallContext LogicalCallContext
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
 
        // This is never actually put on the wire, it is
        // simply used to cache the method base after it's
        // looked up once.
        MethodBase MethodBase           
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
    }
    
[System.Runtime.InteropServices.ComVisible(true)]
    public interface IMethodCallMessage : IMethodMessage
    {
        int InArgCount
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
        [System.Security.SecurityCritical]  // auto-generated_required
        String GetInArgName(int index);
        [System.Security.SecurityCritical]  // auto-generated_required
        Object GetInArg(int argNum);
        Object[] InArgs
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
    }
 
[System.Runtime.InteropServices.ComVisible(true)]
    public interface IMethodReturnMessage : IMethodMessage
    {
        int OutArgCount                
        {
            [System.Security.SecurityCritical]  // auto-generated_required
             get;
        }
        [System.Security.SecurityCritical]  // auto-generated_required
        String GetOutArgName(int index);
        [System.Security.SecurityCritical]  // auto-generated_required
        Object GetOutArg(int argNum);
        Object[]  OutArgs         
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
        
        Exception Exception        
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
        Object    ReturnValue 
        {
            [System.Security.SecurityCritical]  // auto-generated_required
            get;
        }
    }
 
}