Yes and no.
With DirectX math lib you can get intersection details about intersection of very primitive shapes with very primitive shapes, such as plane-line, plane-plane, triangle-plane. But you have only basic ("true, false" or "-1, 0, 1") info about more complex intersections such as ray-box, box-box, etc.
So, solutions:
- you can roll out your own intersection functions for boxes, based on DirectX math library primitives. You will reinvent the wheel (partially), but this will allow you to keep existing calculation code untouched. Not so much to code, but you will need intensively use goggle for algorithms, and know MSDN ref by heart. Finally, it can be really ugly.
- you can use another lib, such as Bullet, where plenty of intersections types available right now. They are already debugged and ready to go. But you will probably need to tear out all you DirectX math code with a dirty guts, if it was deeply integrated.
- you can make something like a thin layer of abstraction (adapter) to an existing interface. You will be able to quickly swap any implementation you like, now or in the future. But it must be done in a smart way, as such additional level of indirection can slow up your super-fast math. It`s a pretty much coding and later debugging and pain, but it worth it.
Hope it helps somehow. Happy coding! ;)