Sure, there's no problem with calling them direct, but you'd have to make sure to provide the right "environment" for it to run, by creating the plugin object, setting the path to its working folder and probably simulating any commands it may expect to come from RR. You can just look at the extension plugin examples and get the idea of how to do it, but if you have any questions, let me know. Depending on the plugin it may be looking for specific features of RR to work with (which you could simulate) but in general it should just work. PM me if you have more questions.

It turns out that if the DLL is written using .NET (C#) there are some post build processes that must be done to "export" the entry points.

In my case, I have a private plugin (C#) that manages/shares an external connection using WiFiMan or Internet Connection Sharing via PAN using MobilePhone.net. I have several AutoIt RR support functions and a couple of other private plugins that need to have a connection to function.

I wanted a way to call the connection manager either directly via exports or via RR commands as defined by the connection manager plugin to establish and otherwise manage/share a connection.

Turns out the "exports" with .Net and C# aren't part of the language definition and require internal modifications to the DLL. Fortunately there is a package written in Germany (DotNet DLL-Exporter) that performs the modifications.

Once the mods are made to the C# DLL, any normal program can call using LoadLibrary, etc.