Replies: 1 comment
-
The dll is 32bit, which means when making a C# application that will P/Invoke into the dll, it either needs to be built specifically in 32bit mode, be compiled as AnyCPU while running on 32bit Windows, or figure out how to thunk into 32bit. In the beginning of my research, I actually began by decompiling the Ultimate Software, either using IL Spy or dnSpy (I don't remember which), then spending the next couple of days porting the code from .NET Framework to .NET 6, which the port works enough the same as the official release that I don't notice any difference, outside of tracing that I added for reverse engineering purposes. I've actually had no issues calling into the dll, and know its working quite well. My main goal for this documentation is to allow the controller to be configured on currently unsupported platforms, specifically on Linux, and, as far as I have most recently looked into this, the Windows API functions being called to communicate HID is not yet supported on Wine, and I was unsuccessful in getting a VM to access the device directly. Because of this, most of my research has been on figuring out the wire protocol, as this will then allow anyone to develop to the protocol and not be limited to whatever the Ultimate Software decides it will support. The documentation that I have been creating is nearly complete for what I can actually test, with the only remaining part to document the format of the write configuration protocol as well as the binary format of the configuration data itself for the SN30 Pro+. Beyond that, I don't have any newer controllers to test. That said, for what you are looking to try, what should get you past your current roadblock would be to make sure your C# application is being built as 32bit, and not 64bit nor AnyCPU. |
Beta Was this translation helpful? Give feedback.
-
Hey!
I dont know, if this is the right place to write about this but except for your nice documentation I couldnt really find much about any 8BitDo api or something similar.
I really wonder if its possible to use the .dll in C# NET applications. I've tried it but stumbled over this error when I tried to just call an extern method
Please let me know if you managed to get any further with the .dll and maybe even call methods from it!
Beta Was this translation helpful? Give feedback.
All reactions