include vmm.inc pCall Procedure pCall Procedure, Param1 pCall Procedure, <Param1, Param2, Param3, ..., ParamN>
Pushes the specified parameters on the stack and calls the specified procedure. The called procedure is expected to remove the parameters from the stack.
Procedure
Name of the procedure to call. This parameter can be either a local or public procedure, but must be defined within the virtual device making the call.
Param1, Param2, Param3, ..., ParamN
Parameters to pass to the procedure. If more than one parameter is given, they must be separated with commas and enclosed in angle brackets (<>). Parameters are optional.
This macro pushes the parameters using the Pascal-language calling convention, in order from left to right. It also assumes that the called procedure follows the Pascal-language register conventions, viz., that the EAX, ECX, EDX, and flags registers may be modified by the call, and that the return value is placed in the EAX register (and sometimes also the EDX register). If your procedure does not follow these rules, you should not use the pCall macro.
See also VMMCall, VxDCall