Overview
C API (Component Interface)
struct EventFunctionCall { UINT32 handle; struct Argument** arguments; UINT32 argumentCount; };

Call a function that was previously obtained in a call to EVENT_FUNCTION_GET.

Return arguments may be empty, in which case the utility should create the response data and set the real, imag, and dims fields of the argument appropriately. Alternatively, return arguments may be non-empty, in which case they should be of the correct size for the returned data, and real and imag fields should point at buffers as required. In the latter case, if the argument format includes the flags TYPE_CPXFMT_INTERLEAVED the imag field, as usual, should be NULL.

Fields

UINT32 handle IN
Handle of function to call, returned from a call to EVENT_FUNCTION_GET.
struct Argument** arguments IN/OUT
Function arguments, any number of which may be outputs as well as inputs.
UINT32 argumentCount IN/OUT
The number of arguments passed. Also used to return additional data in case of error.

Action

  • Execute the specified function using the arguments supplied in EventFunction.
  • Modify any arguments that serve as return arguments, and set the flag F_MODIFIED on those arguments only.

Return Codes

  • E_BAD_ARG_COUNT Argument list is of the wrong length (return expected length in argumentCount).
  • E_BAD_ARG_TYPE Argument is of the wrong type (return zero-based index of offending argument in argumentCount).
  • E_BAD_ARG_SIZE Argument is of the wrong size (return zero-based index of offending argument in argumentCount).

Example

C++ Source Code (against 1199)
// TODO // ok return C_OK;