DirectSound implements a new model for playing and capturing digital sound samples and mixing sample sources. As with other object classes in the DirectX API, DirectSound uses the hardware to its greatest advantage whenever possible, and it emulates hardware features in software when the feature is not present in the hardware.
DirectSound playback is built on the IDirectSound component object model (COM) interface and on other interfaces for manipulating sound buffers and 3-D effects. These interfaces are IDirectSoundBuffer, IDirectSound3DBuffer, and IDirectSound3DListener
DirectSound capture is based on the IDirectSoundCapture and IDirectSoundCaptureBuffer COM interfaces.
Another COM interface, IKsPropertySet, provides methods that allow applications to take advantage of extended capabilities of sound cards.
Finally, the IDirectSoundNotify interface is used to signal events when playback or capture has reached a certain point in the buffer.
For more information about COM concepts that you should understand to create applications with the DirectX APIs, see The Component Object Model.