ironrdp-dvc-com-plugin 0.1.2

DVC COM client plugin loader for IronRDP (Windows)
Documentation

IronRDP DVC COM Plugin

Loader for native Windows DVC (Dynamic Virtual Channel) client plugin DLLs (e.g. webauthn.dll) that bridges them into IronRDP's DVC infrastructure.

The plugin DLL is loaded via LoadLibraryW, its VirtualChannelGetInstance export is called to obtain IWTSPlugin COM objects, and a Rust implementation of IWTSVirtualChannelManager bridges data bidirectionally between the plugin's COM callbacks and IronRDP's DVC system.

This crate is Windows-only (#![cfg(windows)]).

Architecture

A dedicated COM worker thread owns all COM objects (which are !Send). The DvcComChannel structs (which implement DvcProcessor + Send) are registered as DVC channels in IronRDP's DrdynvcClient and communicate with the COM thread via std::sync::mpsc channels.

Outbound data from the plugin (IWTSVirtualChannel::Write) is injected into the active session loop via the on_write_dvc callback, following the same pattern as ironrdp-dvc-pipe-proxy.

This crate is part of the IronRDP project.