ReturnMessage Class

 

Holds a message returned in response to a method call on a remote object.

Namespace:   System.Runtime.Remoting.Messaging
Assembly:  mscorlib (in mscorlib.dll)

System::Object
  System.Runtime.Remoting.Messaging::ReturnMessage

[SecurityCriticalAttribute]
[ComVisibleAttribute(true)]
[SecurityPermissionAttribute(SecurityAction::InheritanceDemand, 
	Flags = SecurityPermissionFlag::Infrastructure)]
public ref class ReturnMessage : IMethodReturnMessage, IMethodMessage, 
	IMessage

NameDescription
System_CAPS_pubmethodReturnMessage(Exception^, IMethodCallMessage^)

Initializes a new instance of the ReturnMessage class.

System_CAPS_pubmethodReturnMessage(Object^, array<Object^>^, Int32, LogicalCallContext^, IMethodCallMessage^)

Initializes a new instance of the ReturnMessage class with all the information returning to the caller after the method call.

NameDescription
System_CAPS_pubpropertyArgCount

Gets the number of arguments of the called method.

System_CAPS_pubpropertyArgs

Gets a specified argument passed to the method called on the remote object.

System_CAPS_pubpropertyException

Gets the exception that was thrown during the remote method call.

System_CAPS_pubpropertyHasVarArgs

Gets a value indicating whether the called method accepts a variable number of arguments.

System_CAPS_pubpropertyLogicalCallContext

Gets the LogicalCallContext of the called method.

System_CAPS_pubpropertyMethodBase

Gets the MethodBase of the called method.

System_CAPS_pubpropertyMethodName

Gets the name of the called method.

System_CAPS_pubpropertyMethodSignature

Gets an array of Type objects containing the method signature.

System_CAPS_pubpropertyOutArgCount

Gets the number of out or ref arguments on the called method.

System_CAPS_pubpropertyOutArgs

Gets a specified object passed as an out or ref parameter to the called method.

System_CAPS_pubpropertyProperties

Gets an IDictionary of properties contained in the current ReturnMessage.

System_CAPS_pubpropertyReturnValue

Gets the object returned by the called method.

System_CAPS_pubpropertyTypeName

Gets the name of the type on which the remote method was called.

System_CAPS_pubpropertyUri

Gets or sets the URI of the remote object on which the remote method was called.

NameDescription
System_CAPS_pubmethodEquals(Object^)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetArg(Int32)

Returns a specified argument passed to the remote method during the method call.

System_CAPS_pubmethodGetArgName(Int32)

Returns the name of a specified method argument.

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetOutArg(Int32)

Returns the object passed as an out or ref parameter during the remote method call.

System_CAPS_pubmethodGetOutArgName(Int32)

Returns the name of a specified out or ref parameter passed to the remote method.

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_noteNote

This class makes a link demand and an inheritance demand at the class level. A SecurityException is thrown when either the immediate caller or the derived class does not have infrastructure permission. For details about security demands, see Link Demands and Inheritance Demands.

[System::Security::Permissions::SecurityPermissionAttribute
(System::Security::Permissions::SecurityAction::LinkDemand, 
Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
[System::Security::Permissions::SecurityPermissionAttribute
(System::Security::Permissions::SecurityAction::InheritanceDemand, 
Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
public ref class MyProxy: public RealProxy
{
private:
   String^ stringUri;
   MarshalByRefObject^ myMarshalByRefObject;

public:
   MyProxy( Type^ myType ) : RealProxy( myType )
   {
      myMarshalByRefObject = dynamic_cast<MarshalByRefObject^>(Activator::CreateInstance( myType ));
      ObjRef^ myObject = RemotingServices::Marshal( myMarshalByRefObject );
      stringUri = myObject->URI;
   }

   virtual IMessage^ Invoke( IMessage^ myMessage ) override
   {
      IMethodCallMessage^ myCallMessage = (IMethodCallMessage^)( myMessage );

      IMethodReturnMessage^ myIMethodReturnMessage =
         RemotingServices::ExecuteMessage( myMarshalByRefObject, myCallMessage );

      Console::WriteLine( "Method name : {0}", myIMethodReturnMessage->MethodName );
      Console::WriteLine( "The return value is : {0}", myIMethodReturnMessage->ReturnValue );

      // Get number of 'ref' and 'out' parameters.
      int myArgOutCount = myIMethodReturnMessage->OutArgCount;
      Console::WriteLine( "The number of 'ref', 'out' parameters are : {0}",
         myIMethodReturnMessage->OutArgCount );
      // Gets name and values of 'ref' and 'out' parameters.
      for ( int i = 0; i < myArgOutCount; i++ )
      {
         Console::WriteLine( "Name of argument {0} is '{1}'.",
            i, myIMethodReturnMessage->GetOutArgName( i ) );
         Console::WriteLine( "Value of argument {0} is '{1}'.",
            i, myIMethodReturnMessage->GetOutArg( i ) );
      }
      Console::WriteLine();
      array<Object^>^myObjectArray = myIMethodReturnMessage->OutArgs;
      for ( int i = 0; i < myObjectArray->Length; i++ )
         Console::WriteLine( "Value of argument {0} is '{1}' in OutArgs",
            i, myObjectArray[ i ] );
      return myIMethodReturnMessage;
   }
};

SecurityPermission

for operating with infrastructure code. Demand value: SecurityAction::LinkDemand; Permission Value: SecurityPermissionFlag::Infrastructure

SecurityPermission

for operating with infrastructure code. Demand value: SecurityAction::InheritanceDemand; Permission Value: SecurityPermissionFlag::Infrastructure

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: