wasmedge_sys::ffi

Function WasmEdge_VMExecute

Source
pub unsafe extern "C" fn WasmEdge_VMExecute(
    Cxt: *mut WasmEdge_VMContext,
    FuncName: WasmEdge_String,
    Params: *const WasmEdge_Value,
    ParamLen: u32,
    Returns: *mut WasmEdge_Value,
    ReturnLen: u32,
) -> WasmEdge_Result
Expand description

Invoke a WASM function by name.

This is the final step to invoke a WASM function step by step. After instantiating a WASM module in the VM context, the WASM module is registered into the store in the VM context as an anonymous module. Then you can repeatedly call this function to invoke the exported WASM functions by their names until the VM context is reset or a new WASM module is registered or loaded. For calling the functions in registered WASM modules with module names, please use WasmEdge_VMExecuteRegistered instead. If the Returns buffer length is smaller than the arity of the function, the overflowed return values will be discarded.

This function is thread-safe.

\param Cxt the WasmEdge_VMContext. \param FuncName the function name WasmEdge_String. \param Params the WasmEdge_Value buffer with the parameter values. \param ParamLen the parameter buffer length. \param [out] Returns the WasmEdge_Value buffer to fill the return values. \param ReturnLen the return buffer length.

\returns WasmEdge_Result. Call WasmEdge_ResultGetMessage for the error message.