DllImport書いてやってみたら普通に動いた
コントローラー持ってないから関数が正常終了することしか確認できないけど…

たかが15行程度だし、この辺見ながら自分で書けよ
ref以外に特に引っかかりそうな部分無いしな

http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html
http://msdn.microsoft.com/ja-jp/library/bb174829%28v=VS.85%29.aspx
http://msdn.microsoft.com/ja-jp/library/bb174834%28v=VS.85%29.aspx
http://msdn.microsoft.com/ja-jp/library/bb174832%28v=VS.85%29.aspx