bueno hace tiempo hubiese sido un reto loquisimo, pero ahora con tantas fuentes de datos solo basta darle una vueltat
http://www.pinvoke.net/
a encontrar los metods del api categorizados por funcion o entorno y como mapearlos a .net
PD: charlie tampoco es nada del otro mundo , pero eso si cabe mencionar que el codigo es limpio y el hecho de usar el atributo flags para poder mapear las posibles combinaciones de la enumeracion es fabuloso.
PD: Aunque cabe mencionar que por el amplio conocimeinto que demuestra al usar el framework, seguramente se debe a años de programar en c++.