I will simply repeat a single word from my above post: cryptic. Maybe not for a DOS programmer, but the undocumented "features" of DirectX will have you running back to the message board for answers every so often. But no, you don't HAVE to write your own sound playing, drawing code, although alpha-blending (which DirectDraw does not support) is a great favorite of mine.
I guess to give you the base functionality of DirectX, I will give you examples:
DirectDraw - The base operation is the Blit() where you will copy a region of memory from one "surface" which you filled with a bitmap to a back buffer on the graphics card, then you will Flip() to make that back buffer visible, and repeat
DirectSound - Basically you fill sound "buffers" with sound data, and then Play() them to have DirectSound mix them into the output sound stream.
DirectInput - This gives you access to immediate input data (ie state of every key - up or down - state of mouse buttons - up or down - and change in mouse X, Y, Z coordinates) and/or buffered data, which is event-based (you have DirectInput fill an array of events then you get a chance to process them and optionally read in more)
That's the core functionality of DirectX, obviously leaving out Direct3D.
- Splat