RPC HELP DLL GuideLines CPP Execute RPCs

From VistApedia
Revision as of 15:59, 8 July 2015 by Kdtop (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

RPC Broker Help Home

DLL Interface Home

C++: Execute RPCs

If you can make a successful connection to the RPC Broker VistA M Server, and create an application context, you can execute any RPCs registered to your context.

To execute RPCs from your C++ program:

1. Create a character buffer large enough to hold your RPC's return value:

   char Value [1024];

2. Set the RemoteProcedure property of the TRPCBroker component to the RPC to execute:

   RPCInst.RPCBPropSet("RemoteProcedure","XWB GET VARIABLE VALUE");

3. Set the Param values for any parameters needed by the RPC. In the following example, one TRPCBroker Param node is set (the equivalent of Param[0]):

3a. A value of 0 for parameter 1 denotes the integer index of the Param node being set (Param[0]).

3b. A value of reference for parameter 2 denotes the setting for the equivalent of Param[0].PType. This uses the enumerated values for PType declared in the header file.

3c. A value of "DUZ" for parameter 3 denotes that the equivalent of Param[0].Value is "DUZ":

   RPCInst.RPCBParamSet(0, reference, "DUZ");

4. Use the RPCBCall method to execute the RPC:

   RPCInst.RPCBCall(Value);

The return value from the RPC is returned in the first parameter (in this case, the Value character buffer).