IronRDP/ffi
Benoît Cortier 7123150b63
Some checks failed
CI / Check formatting (push) Has been cancelled
CI / Check typos (push) Has been cancelled
Coverage / Coverage Report (push) Has been cancelled
Release crates / Open release PR (push) Has been cancelled
Release crates / Release crates (push) Has been cancelled
CI / Checks [linux] (push) Has been cancelled
CI / Checks [macos] (push) Has been cancelled
CI / Checks [windows] (push) Has been cancelled
CI / Fuzzing (push) Has been cancelled
CI / Web Client (push) Has been cancelled
CI / FFI (push) Has been cancelled
CI / Success (push) Has been cancelled
fix(ffi): preserve full error context across FFI boundary (#1050)
Replaced generic From implementation that used to_string() with specific
implementations for each error type to ensure source error chains are
preserved. IronRDP errors now use .report() for full context, while
standard library errors are converted to anyhow::Error for proper
alternate formatting with {:#}.
2025-12-05 15:43:28 +00:00
..
dotnet chore: bump iOS nuget package to net9.0 (#1049) 2025-12-04 11:45:49 -05:00
src fix(ffi): preserve full error context across FFI boundary (#1050) 2025-12-05 15:43:28 +00:00
build.rs refactor!: enable unwrap_used clippy correctness lint (#965) 2025-09-11 11:41:02 +00:00
Cargo.toml build(deps): bump picky and sspi (#1028) 2025-11-19 14:08:42 +00:00
dotnet-interop-conf.toml feat(ffi): initial C# bindings (connector only) (#423) 2024-04-05 15:11:32 +00:00
README.md docs(ffi): document how to build the .NET bindings 2025-03-24 23:23:26 +01:00

IronRDP FFI

Diplomat-based FFI for IronRDP.

Currently, only the .NET target is officially supported.

How to build

  • Install required tools: cargo xtask ffi install

    • For .NET, note that dotnet is also a requirement that you will need to install on your own.
  • Build the shared library: cargo xtask ffi build (alternatively, in release mode: cargo xtask ffi build --release)

  • Build the bindings: cargo xtask ffi bindings

At this point, you may build and run the examples for .NET:

  • dotnet run --project Devolutions.IronRdp.ConnectExample
  • dotnet run --project Devolutions.IronRdp.AvaloniaExample