How much experience do you have with C++? If you are still new, I would highly recommend learning the language first before even attempting 2d game development. (Game development is hard)
If you already have basic 2d game dev experience and want to get into 3d, DirectX or OpenGL should be next. If you don't have 2d game dev experience, I highly recommend starting there first before getting into 3d.
Because you mentioned that you want to get into DirectX, you need to first have a basic knowledge of the Win32 API (Search for the Forgers Win32 API tutorial for a good intro to the Win32 API)
After words, just pick up a DirectX tutorial (Most Win32 compliant compilers come with the PSDK for it) and dive in :)
www.gamedev.net has all the info you need to get started ;)
[.:EvolutionEngine][.:MicroOS Operating System][Website :: OS Development Series]