Before I jump headlong into C#...
I've always felt that C, or maybe C++, was best for developing drivers on Windows. I'm not keen on the idea of developing a driver on a .NET machine.
But .NET seems to be the way MS is heading for applications development, and so I'm now wondering:
- Are people are using C# to develop drivers?
- Do you have to do a lot of API hooks, or does C# have the facilities to interface with the kernel without a lot of hackery?
- Can anyone speak to the reliability and safety of running a C# program closer to Ring 0 than would normally be the case?
I want my devices to be usable in C#, and if driver dev in C# is mature that's obviously the way to go, but I don't want to spend a lot of effort there if it's not recommended.
- What are some good resources to get started, say, developing a simple virtual serial port driver?