| 2301 | } |
| 2302 | |
| 2303 | WASMEDGE_CAPI_EXPORT WasmEdge_ModuleInstanceContext * |
| 2304 | WasmEdge_ModuleInstanceCreateWASI(const char *const *Args, |
| 2305 | const uint32_t ArgLen, |
| 2306 | const char *const *Envs, |
| 2307 | const uint32_t EnvLen, |
| 2308 | const char *const *Preopens, |
| 2309 | const uint32_t PreopenLen) noexcept { |
| 2310 | try { |
| 2311 | auto WasiMod = std::make_unique<WasmEdge::Host::WasiModule>(); |
| 2312 | WasmEdge_ModuleInstanceInitWASI(toModCxt(WasiMod.get()), Args, ArgLen, Envs, |
| 2313 | EnvLen, Preopens, PreopenLen); |
| 2314 | return toModCxt(WasiMod.release()); |
| 2315 | } catch (...) { |
| 2316 | handleCAPIError(); |
| 2317 | return nullptr; |
| 2318 | } |
| 2319 | } |
| 2320 | |
| 2321 | WASMEDGE_CAPI_EXPORT extern WasmEdge_ModuleInstanceContext * |
| 2322 | WasmEdge_ModuleInstanceCreateWithData(const WasmEdge_String ModuleName, |