Fundamentally what you need to find is OBB-Triangle intersection. Some searches yield on answer here:
Moving OBB vs. triangle intersection test
The complexity of your case comes in to play in that your vertex data is stored in a D3D buffer - not an ideal format for collision detection. You will have to lock the vertex buffer each time you test. Depending on whether it is triangle strips or triangle lists you will need to pull out the vertices to test against them. Furthermore, to make collision detection against triangles fast enough you need a spatial data structure to wrap it. I wrote about that here: When would a mesh collider be better than primitive colliders
As for the player, you will need to lock the mesh buffer and find the bounding box. The problem you will have is that, if the player is being posed by animation, simply locking the player buffer may not give you the correct vertices as they are posed on the GPU. You'll need to do something more sophisticated to get a useful AABB.
To be performant, you might want to duplicate the triangle vertices in main ram in a format that is best suited for collision detection.