You can definitely play midi files with DirectMusic. I forget exactly how, since I don't have the example code to hand, but I think it's just a matter of using loading the tune up with IDirectMusicLoader8.LoadObjectFromFile and then playing the segment w/ IDirectMusicPerformance8.PlaySegment(Ex).