I wish to prevent AutoPlay from happening when my application is running.
According to MSDN (http://msdn.microsoft.com/msdnmag/issues/01/11/autoplay/default.aspx), there are two methods for accomplishing this:
1) Handle the "QueryCancelAutoplay" windows message. This only works when you app is the foreground and activated.
2) Implement the IQueryCancelAutoPlay COM interface and register with the ROT (Running Object Table)