Difference between revisions of "RPC HELP DLL GuideLines CPP Execute RPCs"
(Created page with " RPC Broker Help Home DLL Interface Home <h2>C++: Execute RPCs</h2> If you can make a successful connection to the R...") |
|||
Line 11: | Line 11: | ||
char Value [1024]; | char Value [1024]; | ||
− | '''2.''' Set the [[RPC_HELP_TRPCBroker_RemoteProcedure|RemoteProcedure]] property of the TRPCBroker component to the [[RPC_HELP_RPCs|RPC]] to execute: | + | '''2.''' Set the [[RPC_HELP_TRPCBroker_RemoteProcedure|RemoteProcedure]] property of the [[RPC_HELP_TRPCBroker|TRPCBroker]] component to the [[RPC_HELP_RPCs|RPC]] to execute: |
RPCInst.RPCBPropSet("RemoteProcedure","XWB GET VARIABLE VALUE"); | RPCInst.RPCBPropSet("RemoteProcedure","XWB GET VARIABLE VALUE"); |
Latest revision as of 15:59, 8 July 2015
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).