InvokeRemoteMethod

PowerBuilder Native Interface

IPBX_Marshaler interface:

InvokeRemoteMethod method

Description

Used in PowerBuilder marshaler native classes to call remote methods.

Syntax

InvokeRemoteMethod(IPB_Session *session, pbproxyobject obj, LPCTSTR methodDesc, PBCallInfo *ci)

Argument

Description

session

This IPB session

obj

The proxy object for the remote object

methodDesc

An arbitrary string stored as an alias name for the remote method in the proxy, for example: function int foo(int a) alias "This is a method in remote BizTalk"

ci

The parameters and return value setting for the call

Return Values

PBXRESULT.PBX_OK if the call succeeded.

Examples

This example shows a header file for a sample marshaler class:

#include "sampleinclude.h"
#include <pbext.h>

class SampleMarshaler : public IPBX_Marshaler
{
private:
   string   d_mystring;
   long     d_mylong;

private:
   void myMethod(string arg1);

public:
   SampleMarshaler(
      string myString,
      long   mylong
      );
   ~SampleMarshaler();

   virtual PBXRESULT InvokeRemoteMethod
      (
      IPB_Session*   session,
      pbproxyObject  obj,
      LPCTSTR        methodDesc,
      PBCallInfo*    ci
      );


   virtual pbulong   GetModuleHandle();
   virtual void Destroy();};

The associated C++ implementation file contains code like this:

PBXRESULT SampleMarshaler::InvokeRemoteMethod
(
   IPB_Session*   session,
   pbproxyObject  obj,
   LPCTSTR        methodDesc,
   PBCallInfo*    ci
)
{
   // method invocation
}

Usage

You must implement this method in the marshaler native class.

See Also