you should use xinput, it allows you to control vibration, recieve and send headphone/mic stuff on an xbox 360 controller
also direct input cant handle the analog triggers on an xbox 360 mote very well
Directinput
[quote:1fhmnx8z]The left and right trigger buttons will act as a single button, not independently
The vibration effects will not be available
Querying for headset devices will not be available
Xinput
[quote:1fhmnx8z]XInput is easier to use and requires less setup than DirectInput
Both Xbox 360 and Windows programming will use the same sets of core APIs, allowing programming to translate cross-platform much easier
There will be a large installed base of Xbox 360 controllers
XInput devices (i.e. The Xbox 360 controllers) will have vibration functionality only when using XInput APIs
Future controllers released for the Xbox 360 console (i.e. steering wheels) will also work on Windows
Using the Xbox 360 Controller with DirectInput