Each application has its own Globally Unique Identifier (GUID), which is generated by VTS when the application is created. Each application's unique GUID is stored in the GDI.WIF file in the application's directory.
In the scope of \Code, the VTS loader creates two variables for your application: "LocalGUID", and "RemoteGUID", both of which are preset to their application's GUID. As you will see from the RPC Manager Methods Reference section, many of the RPC methods take an optional "OptGUID" parameter. This is commonly not provided by the caller. In that case, all the RPC Manager methods search the caller's scope for either the "RemoteGUID" or "LocalGUID" variable (as appropriate for the function being performed), and use the GUID contained therein to identify the application instance to be used in the requested operation.
As these two variables are both set to the calling application GUID by default, the default behaviour is to constrain RPCs to the same application that sourced them. By either explicitly providing a different application GUID when calling RPC Manager methods, or by declaring a RemoteGUID variable and setting it to the GUID of a different application, all RPCs will be made on a different application from that which sourced them.
"LocalGUID" and "RemoteGUID" must be the 16-byte binary form of the GUID.
The preferred method of achieving cross-application RPC is to create a "RemoteGUID" variable in your application, in a scope that will be resolved by all RPC Manager calls (i.e. a scope at least as high as the highest RPC Manager call). This method works for both script and standard (VTS layer) applications.