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