-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Compatibility to older Dokan Versions? #34
Comments
Hi @infeo , Yes, that unfortunately a break change that needed to happen. That's only my point of view I am sharing and not a guidance, if you find the way and keep the compatibility, that would be awesome! |
Is there a good reason to keep the compatibility? Are future Dokan versions not suitable for certain Windows Versions? |
@JaniruTEC The breaking changes in the api/driver are only for improvement for the moment. All futur dokan versions will always be compatible with Win7 and futur Win10. |
Then I see no reason to create multiple versions of dokan-java for different dokany releases or enforce compatibility with older versions. |
Maybe we can keep the compability. The dokan library dll is loaded during initialization of the NativeMethods class. Maybe we can split this loading into several subclasses, each standing for certain functions/version and depending on the version number given by DokanVersion and DokanDriverVersion only certain functions are loaded. In the above example the function Of course, additionally we need to combine all possible methods in a single class. If the currently installed dokan version does not support a specific function something like an This would also benefit #24 , because third party access directly to the native methods should be prevented. The wrapping class can then be the "interface" to the native methods. |
Okay, I gave it another thought and decided to also go with the breaking change. The construct I suggested would get quite complicated, I think, and would be hard to maintain. |
Since version 1.3.0.1000 Dokany has added the function
DokanReleaseMountPointList
to dokan1.dll. This library adapted to this change by also adding it to theNative Methods
class (see 0716547).This change breaks compability with older Dokany versions, since the method won't be present and will throw an UnsatisfiedLinkError.
We need to think if we need to stay compatible with older older versions and how we should implement/document this.
The text was updated successfully, but these errors were encountered: