As has long been planned and discussed we'd like to get rid of the ancient and barely maintained winapi crate, in favour of something more modern: windows-rs is actively developed and maintained by Microsoft themselves, and generated out of header metadata rather than written by hand. Besides, it provides a more sophisticated and safer API for dealing with objects (abstracting away return types behind Result, hiding COM lifetime management, etc).
The choice for the "heavier" windows crate over windows-sys is fairly obvious: DirectX APIs are built on the COM object model which is completely unsupported in windows-sys making us unable to perform any method calls. Besides, the windows-sys crate does very little to make the API more convenient nor safer to use, effectively taking us a step back from winapi instead of a step forward.
Depends on #106 Fixes #62
As has long been planned and discussed we'd like to get rid of the ancient and barely maintained
winapi
crate, in favour of something more modern:windows-rs
is actively developed and maintained by Microsoft themselves, and generated out of header metadata rather than written by hand. Besides, it provides a more sophisticated and safer API for dealing with objects (abstracting away return types behindResult
, hiding COM lifetime management, etc).The choice for the "heavier"
windows
crate overwindows-sys
is fairly obvious: DirectX APIs are built on the COM object model which is completely unsupported inwindows-sys
making us unable to perform any method calls. Besides, thewindows-sys
crate does very little to make the API more convenient nor safer to use, effectively taking us a step back fromwinapi
instead of a step forward.